<parameters>
  <version>3</version>
  <parameter_version_major>1</parameter_version_major>
  <parameter_version_minor>15</parameter_version_minor>
  <group name="UAVCAN Motor Parameters" no_code_generation="true">
    <parameter name="ctl_bw" default="75" type="INT32">
      <short_desc>Speed controller bandwidth</short_desc>
      <long_desc>Speed controller bandwidth, in Hz. Higher values result in faster speed and current rise times, but may result in overshoot and higher current consumption. For fixed-wing aircraft, this value should be less than 50 Hz; for multirotors, values up to 100 Hz may provide improvements in responsiveness.</long_desc>
      <min>10</min>
      <max>250</max>
      <unit>Hz</unit>
    </parameter>
    <parameter name="ctl_dir" default="1" type="INT32">
      <short_desc>Reverse direction</short_desc>
      <long_desc>Motor spin direction as detected during initial enumeration. Use 0 or 1 to reverse direction.</long_desc>
      <min>0</min>
      <max>1</max>
    </parameter>
    <parameter name="ctl_gain" default="1" type="FLOAT">
      <short_desc>Speed (RPM) controller gain</short_desc>
      <long_desc>Speed (RPM) controller gain. Determines controller
            aggressiveness; units are amp-seconds per radian. Systems with
            higher rotational inertia (large props) will need gain increased;
            systems with low rotational inertia (small props) may need gain
            decreased. Higher values result in faster response, but may result
            in oscillation and excessive overshoot. Lower values result in a
            slower, smoother response.</long_desc>
      <min>0.00</min>
      <max>1.00</max>
      <unit>C/rad</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="ctl_hz_idle" default="3.5" type="FLOAT">
      <short_desc>Idle speed (e Hz)</short_desc>
      <long_desc>Idle speed (e Hz)</long_desc>
      <min>0.0</min>
      <max>100.0</max>
      <unit>Hz</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="ctl_start_rate" default="25" type="INT32">
      <short_desc>Spin-up rate (e Hz/s)</short_desc>
      <long_desc>Spin-up rate (e Hz/s)</long_desc>
      <min>5</min>
      <max>1000</max>
      <unit>1/s^2</unit>
    </parameter>
    <parameter name="esc_index" default="0" type="INT32">
      <short_desc>Index of this ESC in throttle command messages.</short_desc>
      <long_desc>Index of this ESC in throttle command messages.</long_desc>
      <min>0</min>
      <max>15</max>
    </parameter>
    <parameter name="id_ext_status" default="20034" type="INT32">
      <short_desc>Extended status ID</short_desc>
      <long_desc>Extended status ID</long_desc>
      <min>1</min>
      <max>1000000</max>
    </parameter>
    <parameter name="int_ext_status" default="50000" type="INT32">
      <short_desc>Extended status interval (µs)</short_desc>
      <long_desc>Extended status interval (µs)</long_desc>
      <min>0</min>
      <max>1000000</max>
      <unit>us</unit>
    </parameter>
    <parameter name="int_status" default="50000" type="INT32">
      <short_desc>ESC status interval (µs)</short_desc>
      <long_desc>ESC status interval (µs)</long_desc>
      <max>1000000</max>
      <unit>us</unit>
    </parameter>
    <parameter name="mot_i_max" default="12" type="FLOAT">
      <short_desc>Motor current limit in amps</short_desc>
      <long_desc>Motor current limit in amps. This determines the maximum
            current controller setpoint, as well as the maximum allowable
            current setpoint slew rate. This value should generally be set to
            the continuous current rating listed in the motor’s specification
            sheet, or set equal to the motor’s specified continuous power
            divided by the motor voltage limit.</long_desc>
      <min>1</min>
      <max>80</max>
      <unit>A</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="mot_kv" default="2300" type="INT32">
      <short_desc>Motor Kv in RPM per volt</short_desc>
      <long_desc>Motor Kv in RPM per volt. This can be taken from the motor’s
            specification sheet; accuracy will help control performance but
            some deviation from the specified value is acceptable.</long_desc>
      <min>0</min>
      <max>4000</max>
      <unit>rpm/V</unit>
    </parameter>
    <parameter name="mot_ls" default="0.0" type="FLOAT">
      <short_desc>READ ONLY: Motor inductance in henries.</short_desc>
      <long_desc>READ ONLY: Motor inductance in henries. This is measured on start-up.</long_desc>
      <unit>H</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="mot_num_poles" default="14" type="INT32">
      <short_desc>Number of motor poles.</short_desc>
      <long_desc>Number of motor poles. Used to convert mechanical speeds to
            electrical speeds. This number should be taken from the motor’s
            specification sheet.</long_desc>
      <min>2</min>
      <max>40</max>
    </parameter>
    <parameter name="mot_rs" default="0.0" type="FLOAT">
      <short_desc>READ ONLY: Motor resistance in ohms</short_desc>
      <long_desc>READ ONLY: Motor resistance in ohms. This is measured on start-up. When
            tuning a new motor, check that this value is approximately equal
            to the value shown in the motor’s specification sheet.</long_desc>
      <unit>Ohm</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="mot_v_accel" default="0.5" type="FLOAT">
      <short_desc>Acceleration limit (V)</short_desc>
      <long_desc>Acceleration limit (V)</long_desc>
      <min>0.01</min>
      <max>1.00</max>
      <unit>V</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="mot_v_max" default="14.8" type="FLOAT">
      <short_desc>Motor voltage limit in volts</short_desc>
      <long_desc>Motor voltage limit in volts. The current controller’s
            commanded voltage will never exceed this value. Note that this may
            safely be above the nominal voltage of the motor; to determine the
            actual motor voltage limit, divide the motor’s rated power by the
            motor current limit.</long_desc>
      <min>0</min>
      <unit>V</unit>
      <decimal>3</decimal>
    </parameter>
  </group>
  <group name="UAVCAN GNSS" no_code_generation="true">
    <parameter name="gnss.dyn_model" default="2" type="INT32">
      <short_desc>GNSS dynamic model</short_desc>
      <long_desc>Dynamic model used in the GNSS positioning engine. 0 –
        Automotive, 1 – Sea, 2 – Airborne.
      </long_desc>
      <min>0</min>
      <max>2</max>
      <values>
        <value code="0">Automotive</value>
        <value code="1">Sea</value>
        <value code="2">Airborne</value>
      </values>
    </parameter>
    <parameter name="gnss.old_fix_msg" default="1" type="INT32">
      <short_desc>Broadcast old GNSS fix message</short_desc>
      <long_desc>Broadcast the old (deprecated) GNSS fix message
        uavcan.equipment.gnss.Fix alongside the new alternative
        uavcan.equipment.gnss.Fix2. It is recommended to
        disable this feature to reduce the CAN bus traffic.
      </long_desc>
      <min>0</min>
      <max>1</max>
      <values>
        <value code="0">Fix2</value>
        <value code="1">Fix and Fix2</value>
      </values>
    </parameter>
    <parameter name="gnss.warn_dimens" default="0" type="INT32">
      <short_desc>device health warning</short_desc>
      <long_desc>Set the device health to Warning if the dimensionality of
              the GNSS solution is less than this value. 3 for the full (3D)
              solution, 2 for planar (2D) solution, 1 for time-only solution,
              0 disables the feature.
      </long_desc>
      <min>0</min>
      <max>3</max>
      <values>
        <value code="0">disables the feature</value>
        <value code="1">time-only solution</value>
        <value code="2">planar (2D) solution</value>
        <value code="3">full (3D) solution</value>
      </values>
    </parameter>
    <parameter name="gnss.warn_sats" default="0" type="INT32">
      <short_desc />
      <long_desc>Set the device health to Warning if the number of satellites
        used in the GNSS solution is below this threshold. Zero
        disables the feature
      </long_desc>
    </parameter>
    <parameter name="uavcan.pubp-pres" default="0" type="INT32">
      <short_desc />
      <long_desc>Set the device health to Warning if the number of satellites
        used in the GNSS solution is below this threshold. Zero
        disables the feature
      </long_desc>
      <min>0</min>
      <max>1000000</max>
      <unit>us</unit>
    </parameter>
  </group>
  <group name="ADSB">
    <parameter name="ADSB_CALLSIGN_1" default="0" type="INT32">
      <short_desc>First 4 characters of CALLSIGN</short_desc>
      <long_desc>Sets first 4 characters of a total of 8. Valid characters are A-Z, 0-9, " ". Example "PX4 " -&gt; 1347957792 For CALLSIGN shorter than 8 characters use the null terminator at the end '\0'.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="ADSB_CALLSIGN_2" default="0" type="INT32">
      <short_desc>Second 4 characters of CALLSIGN</short_desc>
      <long_desc>Sets second 4 characters of a total of 8. Valid characters are A-Z, 0-9, " " only. Example "TEST" -&gt; 1413829460 For CALLSIGN shorter than 8 characters use the null terminator at the end '\0'.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="ADSB_EMERGC" default="0" type="INT32">
      <short_desc>ADSB-Out Emergency State</short_desc>
      <long_desc>Sets the vehicle emergency state</long_desc>
      <min>0</min>
      <max>6</max>
      <reboot_required>false</reboot_required>
      <values>
        <value code="0">NoEmergency</value>
        <value code="1">General</value>
        <value code="2">Medical</value>
        <value code="3">LowFuel</value>
        <value code="4">NoCommunications</value>
        <value code="5">Interference</value>
        <value code="6">Downed</value>
      </values>
    </parameter>
    <parameter name="ADSB_EMIT_TYPE" default="14" type="INT32">
      <short_desc>ADSB-Out Vehicle Emitter Type</short_desc>
      <long_desc>Configure the emitter type of the vehicle.</long_desc>
      <min>0</min>
      <max>15</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Unknown</value>
        <value code="1">Light</value>
        <value code="2">Small</value>
        <value code="3">Large</value>
        <value code="4">HighVortex</value>
        <value code="5">Heavy</value>
        <value code="6">Performance</value>
        <value code="7">Rotorcraft</value>
        <value code="8">RESERVED</value>
        <value code="9">Glider</value>
        <value code="10">LightAir</value>
        <value code="11">Parachute</value>
        <value code="12">UltraLight</value>
        <value code="13">RESERVED</value>
        <value code="14">UAV</value>
        <value code="15">Space</value>
        <value code="16">RESERVED</value>
        <value code="17">EmergencySurf</value>
        <value code="18">ServiceSurf</value>
        <value code="19">PointObstacle</value>
      </values>
    </parameter>
    <parameter name="ADSB_GPS_OFF_LAT" default="0" type="INT32">
      <short_desc>ADSB-Out GPS Offset lat</short_desc>
      <long_desc>Sets GPS lataral offset encoding</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>false</reboot_required>
      <values>
        <value code="0">NoData</value>
        <value code="1">LatLeft2M</value>
        <value code="2">LatLeft4M</value>
        <value code="3">LatLeft6M</value>
        <value code="4">LatRight0M</value>
        <value code="5">LatRight2M</value>
        <value code="6">LatRight4M</value>
        <value code="7">LatRight6M</value>
      </values>
    </parameter>
    <parameter name="ADSB_GPS_OFF_LON" default="0" type="INT32">
      <short_desc>ADSB-Out GPS Offset lon</short_desc>
      <long_desc>Sets GPS longitudinal offset encoding</long_desc>
      <min>0</min>
      <max>1</max>
      <reboot_required>false</reboot_required>
      <values>
        <value code="0">NoData</value>
        <value code="1">AppliedBySensor</value>
      </values>
    </parameter>
    <parameter name="ADSB_ICAO_ID" default="1194684" type="INT32">
      <short_desc>ADSB-Out ICAO configuration</short_desc>
      <long_desc>Defines the ICAO ID of the vehicle</long_desc>
      <min>-1</min>
      <max>16777215</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="ADSB_ICAO_SPECL" default="0" type="INT32">
      <short_desc>ADSB-In Special ICAO configuration</short_desc>
      <long_desc>This vehicle is always tracked. Use 0 to disable.</long_desc>
      <min>0</min>
      <max>16777215</max>
      <reboot_required>false</reboot_required>
    </parameter>
    <parameter name="ADSB_IDENT" default="0" type="INT32" boolean="true">
      <short_desc>ADSB-Out Ident Configuration</short_desc>
      <long_desc>Enable Identification of Position feature</long_desc>
      <reboot_required>false</reboot_required>
    </parameter>
    <parameter name="ADSB_LEN_WIDTH" default="1" type="INT32">
      <short_desc>ADSB-Out Vehicle Size Configuration</short_desc>
      <long_desc>Report the length and width of the vehicle in meters. In most cases, use '1' for the smallest vehicle size.</long_desc>
      <min>0</min>
      <max>15</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">SizeUnknown</value>
        <value code="1">Len15_Wid23</value>
        <value code="2">Len25_Wid28</value>
        <value code="3">Len25_Wid34</value>
        <value code="4">Len35_Wid33</value>
        <value code="5">Len35_Wid38</value>
        <value code="6">Len45_Wid39</value>
        <value code="7">Len45_Wid45</value>
        <value code="8">Len55_Wid45</value>
        <value code="9">Len55_Wid52</value>
        <value code="10">Len65_Wid59</value>
        <value code="11">Len65_Wid67</value>
        <value code="12">Len75_Wid72</value>
        <value code="13">Len75_Wid80</value>
        <value code="14">Len85_Wid80</value>
        <value code="15">Len85_Wid90</value>
      </values>
    </parameter>
    <parameter name="ADSB_LIST_MAX" default="25" type="INT32">
      <short_desc>ADSB-In Vehicle List Size</short_desc>
      <long_desc>Change number of targets to track</long_desc>
      <min>0</min>
      <max>50</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="ADSB_MAX_SPEED" default="0" type="INT32">
      <short_desc>ADSB-Out Vehicle Max Speed</short_desc>
      <long_desc>Informs ADSB vehicles of this vehicle's max speed capability</long_desc>
      <min>0</min>
      <max>6</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">UnknownMaxSpeed</value>
        <value code="1">75Kts</value>
        <value code="2">150Kts</value>
        <value code="3">300Kts</value>
        <value code="4">600Kts</value>
        <value code="5">1200Kts</value>
        <value code="6">Over1200Kts</value>
      </values>
    </parameter>
    <parameter name="ADSB_SQUAWK" default="1200" type="INT32">
      <short_desc>ADSB-Out squawk code configuration</short_desc>
      <long_desc>This parameter defines the squawk code. Value should be between 0000 and 7777.</long_desc>
      <min>0</min>
      <max>7777</max>
      <reboot_required>false</reboot_required>
    </parameter>
  </group>
  <group name="Airspeed Validator">
    <parameter name="ASPD_BETA_GATE" default="1" type="INT32">
      <short_desc>Airspeed Selector: Gate size for sideslip angle fusion</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>1</min>
      <max>5</max>
      <unit>SD</unit>
    </parameter>
    <parameter name="ASPD_BETA_NOISE" default="0.3" type="FLOAT">
      <short_desc>Airspeed Selector: Wind estimator sideslip measurement noise</short_desc>
      <long_desc>Sideslip measurement noise of the internal wind estimator(s) of the airspeed selector.</long_desc>
      <min>0</min>
      <max>1</max>
      <unit>rad</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="ASPD_DO_CHECKS" default="7" type="INT32">
      <short_desc>Enable checks on airspeed sensors</short_desc>
      <long_desc>Controls which checks are run to check airspeed data for validity. Only applied if ASPD_PRIMARY &gt; 0. Note that the data missing check is enabled if any of the options is set.</long_desc>
      <min>0</min>
      <max>15</max>
      <bitmask>
        <bit index="0">Only data missing check (triggers if more than 1s no data)</bit>
        <bit index="1">Data stuck (triggers if data is exactly constant for 2s in FW mode)</bit>
        <bit index="2">Innovation check (see ASPD_FS_INNOV)</bit>
        <bit index="3">Load factor check (triggers if measurement is below stall speed)</bit>
      </bitmask>
    </parameter>
    <parameter name="ASPD_FALLBACK_GW" default="0" type="INT32" boolean="true">
      <short_desc>Enable fallback to sensor-less airspeed estimation</short_desc>
      <long_desc>If set to true and airspeed checks are enabled, it will use a sensor-less airspeed estimation based on groundspeed minus windspeed if no other airspeed sensor available to fall back to.</long_desc>
      <values>
        <value code="0">Disable fallback to sensor-less estimation</value>
        <value code="1">Enable fallback to sensor-less estimation</value>
      </values>
    </parameter>
    <parameter name="ASPD_FS_INNOV" default="5." type="FLOAT">
      <short_desc>Airspeed failure innovation threshold</short_desc>
      <long_desc>This specifies the minimum airspeed innovation required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Large innovations indicate an inconsistency between predicted (groundspeed - windspeeed) and measured airspeed. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the ASPD_FS_INTEG parameter.</long_desc>
      <min>0.5</min>
      <max>10.0</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="ASPD_FS_INTEG" default="10." type="FLOAT">
      <short_desc>Airspeed failure innovation integral threshold</short_desc>
      <long_desc>This sets the time integral of airspeed innovation exceedance above ASPD_FS_INNOV required to trigger a failsafe. Larger values make the check less sensitive, smaller positive values make it more sensitive.</long_desc>
      <min>0.0</min>
      <max>50.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="ASPD_FS_T_START" default="-1" type="INT32">
      <short_desc>Airspeed failsafe start delay</short_desc>
      <long_desc>Delay before switching back to using airspeed sensor if checks indicate sensor is good. Set to a negative value to disable the re-enabling in flight.</long_desc>
      <min>-1</min>
      <max>1000</max>
      <unit>s</unit>
    </parameter>
    <parameter name="ASPD_FS_T_STOP" default="2" type="INT32">
      <short_desc>Airspeed failsafe stop delay</short_desc>
      <long_desc>Delay before stopping use of airspeed sensor if checks indicate sensor is bad.</long_desc>
      <min>1</min>
      <max>10</max>
      <unit>s</unit>
    </parameter>
    <parameter name="ASPD_PRIMARY" default="1" type="INT32">
      <short_desc>Index or primary airspeed measurement source</short_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="-1">Disabled</value>
        <value code="0">Groundspeed minus windspeed</value>
        <value code="1">First airspeed sensor</value>
        <value code="2">Second airspeed sensor</value>
        <value code="3">Third airspeed sensor</value>
      </values>
    </parameter>
    <parameter name="ASPD_SCALE_1" default="1.0" type="FLOAT" volatile="true">
      <short_desc>Scale of airspeed sensor 1</short_desc>
      <long_desc>This is the scale IAS --&gt; CAS of the first airspeed sensor instance</long_desc>
      <min>0.5</min>
      <max>2.0</max>
      <decimal>2</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="ASPD_SCALE_2" default="1.0" type="FLOAT" volatile="true">
      <short_desc>Scale of airspeed sensor 2</short_desc>
      <long_desc>This is the scale IAS --&gt; CAS of the second airspeed sensor instance</long_desc>
      <min>0.5</min>
      <max>2.0</max>
      <decimal>2</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="ASPD_SCALE_3" default="1.0" type="FLOAT" volatile="true">
      <short_desc>Scale of airspeed sensor 3</short_desc>
      <long_desc>This is the scale IAS --&gt; CAS of the third airspeed sensor instance</long_desc>
      <min>0.5</min>
      <max>2.0</max>
      <decimal>2</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="ASPD_SCALE_APPLY" default="2" type="INT32">
      <short_desc>Controls when to apply the new estimated airspeed scale(s)</short_desc>
      <values>
        <value code="0">Do not automatically apply the estimated scale</value>
        <value code="1">Apply the estimated scale after disarm</value>
        <value code="2">Apply the estimated scale in air</value>
      </values>
    </parameter>
    <parameter name="ASPD_SCALE_NSD" default="1.e-4" type="FLOAT">
      <short_desc>Airspeed Selector: Wind estimator true airspeed scale process noise spectral density</short_desc>
      <long_desc>Airspeed scale process noise of the internal wind estimator(s) of the airspeed selector. When unaided, the scale uncertainty (1-sigma, unitless) increases by this amount every second.</long_desc>
      <min>0</min>
      <max>0.1</max>
      <unit>1/s/sqrt(Hz)</unit>
      <decimal>5</decimal>
    </parameter>
    <parameter name="ASPD_TAS_GATE" default="3" type="INT32">
      <short_desc>Airspeed Selector: Gate size for true airspeed fusion</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>1</min>
      <max>5</max>
      <unit>SD</unit>
    </parameter>
    <parameter name="ASPD_TAS_NOISE" default="1.4" type="FLOAT">
      <short_desc>Airspeed Selector: Wind estimator true airspeed measurement noise</short_desc>
      <long_desc>True airspeed measurement noise of the internal wind estimator(s) of the airspeed selector.</long_desc>
      <min>0</min>
      <max>4</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="ASPD_WERR_THR" default="0.55" type="FLOAT">
      <short_desc>Horizontal wind uncertainty threshold for synthetic airspeed</short_desc>
      <long_desc>The synthetic airspeed estimate (from groundspeed and heading) will be declared valid as soon and as long the horizontal wind uncertainty drops below this value.</long_desc>
      <min>0.001</min>
      <max>5</max>
      <unit>m/s</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="ASPD_WIND_NSD" default="1.e-2" type="FLOAT">
      <short_desc>Airspeed Selector: Wind estimator wind process noise noise spectral density</short_desc>
      <long_desc>Wind process noise of the internal wind estimator(s) of the airspeed selector. When unaided, the wind estimate uncertainty (1-sigma, in m/s) increases by this amount every second.</long_desc>
      <min>0</min>
      <max>1</max>
      <unit>m/s^2/sqrt(Hz)</unit>
      <decimal>2</decimal>
    </parameter>
  </group>
  <group name="Attitude Q estimator">
    <parameter name="ATT_ACC_COMP" default="1" type="INT32" boolean="true">
      <short_desc>Acceleration compensation based on GPS velocity</short_desc>
    </parameter>
    <parameter name="ATT_BIAS_MAX" default="0.05" type="FLOAT">
      <short_desc>Gyro bias limit</short_desc>
      <min>0</min>
      <max>2</max>
      <unit>rad/s</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="ATT_EXT_HDG_M" default="0" type="INT32">
      <short_desc>External heading usage mode (from Motion capture/Vision)</short_desc>
      <long_desc>Set to 1 to use heading estimate from vision. Set to 2 to use heading from motion capture.</long_desc>
      <min>0</min>
      <max>2</max>
      <values>
        <value code="0">None</value>
        <value code="1">Vision</value>
        <value code="2">Motion Capture</value>
      </values>
    </parameter>
    <parameter name="ATT_MAG_DECL" default="0.0" type="FLOAT">
      <short_desc>Magnetic declination, in degrees</short_desc>
      <long_desc>This parameter is not used in normal operation, as the declination is looked up based on the GPS coordinates of the vehicle.</long_desc>
      <unit>deg</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="ATT_MAG_DECL_A" default="1" type="INT32" boolean="true">
      <short_desc>Automatic GPS based declination compensation</short_desc>
    </parameter>
    <parameter name="ATT_W_ACC" default="0.2" type="FLOAT">
      <short_desc>Complimentary filter accelerometer weight</short_desc>
      <min>0</min>
      <max>1</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="ATT_W_EXT_HDG" default="0.1" type="FLOAT">
      <short_desc>Complimentary filter external heading weight</short_desc>
      <min>0</min>
      <max>1</max>
    </parameter>
    <parameter name="ATT_W_GYRO_BIAS" default="0.1" type="FLOAT">
      <short_desc>Complimentary filter gyroscope bias weight</short_desc>
      <min>0</min>
      <max>1</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="ATT_W_MAG" default="0.1" type="FLOAT">
      <short_desc>Complimentary filter magnetometer weight</short_desc>
      <long_desc>Set to 0 to avoid using the magnetometer.</long_desc>
      <min>0</min>
      <max>1</max>
      <decimal>2</decimal>
    </parameter>
  </group>
  <group name="Autotune">
    <parameter name="FW_AT_APPLY" default="2" type="INT32">
      <short_desc>Controls when to apply the new gains</short_desc>
      <long_desc>After the auto-tuning sequence is completed, a new set of gains is available and can be applied immediately or after landing.</long_desc>
      <values>
        <value code="0">Do not apply the new gains (logging only)</value>
        <value code="1">Apply the new gains after disarm</value>
        <value code="2">Apply the new gains in air</value>
      </values>
    </parameter>
    <parameter name="FW_AT_AXES" default="3" type="INT32">
      <short_desc>Tuning axes selection</short_desc>
      <long_desc>Defines which axes will be tuned during the auto-tuning sequence Set bits in the following positions to enable: 0 : Roll 1 : Pitch 2 : Yaw</long_desc>
      <min>1</min>
      <max>7</max>
      <bitmask>
        <bit index="0">roll</bit>
        <bit index="1">pitch</bit>
        <bit index="2">yaw</bit>
      </bitmask>
    </parameter>
    <parameter name="FW_AT_MAN_AUX" default="0" type="INT32">
      <short_desc>Enable/disable auto tuning using an RC AUX input</short_desc>
      <long_desc>Defines which RC_MAP_AUXn parameter maps the RC channel used to enable/disable auto tuning.</long_desc>
      <min>0</min>
      <max>6</max>
      <values>
        <value code="0">Disable</value>
        <value code="1">Aux1</value>
        <value code="2">Aux2</value>
        <value code="3">Aux3</value>
        <value code="4">Aux4</value>
        <value code="5">Aux5</value>
        <value code="6">Aux6</value>
      </values>
    </parameter>
    <parameter name="FW_AT_START" default="0" type="INT32" boolean="true">
      <short_desc>Start the autotuning sequence</short_desc>
      <long_desc>WARNING: this will inject steps to the rate controller and can be dangerous. Only activate if you know what you are doing, and in a safe environment. Any motion of the remote stick will abort the signal injection and reset this parameter Best is to perform the identification in position or hold mode. Increase the amplitude of the injected signal using FW_AT_SYSID_AMP for more signal/noise ratio</long_desc>
    </parameter>
    <parameter name="FW_AT_SYSID_AMP" default="1.0" type="FLOAT">
      <short_desc>Amplitude of the injected signal</short_desc>
      <long_desc>This parameter scales the signal sent to the rate controller during system identification.</long_desc>
      <min>0.1</min>
      <max>6.0</max>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MC_AT_APPLY" default="1" type="INT32">
      <short_desc>Controls when to apply the new gains</short_desc>
      <long_desc>After the auto-tuning sequence is completed, a new set of gains is available and can be applied immediately or after landing. WARNING Applying the gains in air is dangerous as there is no guarantee that those new gains will be able to stabilize the drone properly.</long_desc>
      <values>
        <value code="0">Do not apply the new gains (logging only)</value>
        <value code="1">Apply the new gains after disarm</value>
        <value code="2">WARNING Apply the new gains in air</value>
      </values>
    </parameter>
    <parameter name="MC_AT_EN" default="0" type="INT32" boolean="true">
      <short_desc>Multicopter autotune module enable</short_desc>
    </parameter>
    <parameter name="MC_AT_RISE_TIME" default="0.14" type="FLOAT">
      <short_desc>Desired angular rate closed-loop rise time</short_desc>
      <min>0.01</min>
      <max>0.5</max>
      <unit>s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MC_AT_START" default="0" type="INT32" boolean="true">
      <short_desc>Start the autotuning sequence</short_desc>
      <long_desc>WARNING: this will inject steps to the rate controller and can be dangerous. Only activate if you know what you are doing, and in a safe environment. Any motion of the remote stick will abort the signal injection and reset this parameter Best is to perform the identification in position or hold mode. Increase the amplitude of the injected signal using MC_AT_SYSID_AMP for more signal/noise ratio</long_desc>
    </parameter>
    <parameter name="MC_AT_SYSID_AMP" default="0.7" type="FLOAT">
      <short_desc>Amplitude of the injected signal</short_desc>
      <min>0.1</min>
      <max>6.0</max>
      <decimal>1</decimal>
    </parameter>
  </group>
  <group name="Battery Calibration">
    <parameter name="BAT_ADC_CHANNEL" default="-1" type="INT32">
      <short_desc>This parameter is deprecated. Please use BAT1_I_CHANNEL</short_desc>
    </parameter>
    <parameter name="BAT_AVRG_CURRENT" default="15.0" type="FLOAT">
      <short_desc>Expected battery current in flight</short_desc>
      <long_desc>This value is used to initialize the in-flight average current estimation, which in turn is used for estimating remaining flight time and RTL triggering.</long_desc>
      <min>0</min>
      <max>500</max>
      <unit>A</unit>
      <increment>0.1</increment>
    </parameter>
    <parameter name="BAT_CRIT_THR" default="0.07" type="FLOAT">
      <short_desc>Critical threshold</short_desc>
      <long_desc>Sets the threshold when the battery will be reported as critically low. This has to be lower than the low threshold. This threshold commonly will trigger RTL.</long_desc>
      <min>0.05</min>
      <max>0.25</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="BAT_EMERGEN_THR" default="0.05" type="FLOAT">
      <short_desc>Emergency threshold</short_desc>
      <long_desc>Sets the threshold when the battery will be reported as dangerously low. This has to be lower than the critical threshold. This threshold commonly will trigger landing.</long_desc>
      <min>0.03</min>
      <max>0.1</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="BAT_LOW_THR" default="0.15" type="FLOAT">
      <short_desc>Low threshold</short_desc>
      <long_desc>Sets the threshold when the battery will be reported as low. This has to be higher than the critical threshold.</long_desc>
      <min>0.12</min>
      <max>0.5</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="BAT_N_CELLS" default="3" type="INT32" category="System">
      <short_desc>This parameter is deprecated. Please use BAT1_N_CELLS instead</short_desc>
    </parameter>
    <parameter name="BAT_V_CHARGED" default="4.05" type="FLOAT" category="System">
      <short_desc>This parameter is deprecated. Please use BAT1_V_CHARGED instead</short_desc>
    </parameter>
    <parameter name="BAT_V_EMPTY" default="3.6" type="FLOAT" category="System">
      <short_desc>This parameter is deprecated. Please use BAT1_V_EMPTY instead</short_desc>
    </parameter>
    <parameter name="BAT_V_LOAD_DROP" default="0.3" type="FLOAT" category="System">
      <short_desc>This parameter is deprecated. Please use BAT1_V_LOAD_DROP instead</short_desc>
    </parameter>
    <parameter name="BAT_V_OFFS_CURR" default="0.0" type="FLOAT">
      <short_desc>Offset in volt as seen by the ADC input of the current sensor</short_desc>
      <long_desc>This offset will be subtracted before calculating the battery current based on the voltage.</long_desc>
      <decimal>8</decimal>
    </parameter>
  </group>
  <group name="Camera Capture">
    <parameter name="CAM_CAP_DELAY" default="0.0" type="FLOAT">
      <short_desc>Camera strobe delay</short_desc>
      <long_desc>This parameter sets the delay between image integration start and strobe firing</long_desc>
      <min>0.0</min>
      <max>100.0</max>
      <unit>ms</unit>
      <decimal>1</decimal>
    </parameter>
  </group>
  <group name="Camera Control">
    <parameter name="CAM_CAP_EDGE" default="0" type="INT32">
      <short_desc>Camera capture edge</short_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Falling edge</value>
        <value code="1">Rising edge</value>
      </values>
    </parameter>
    <parameter name="CAM_CAP_FBACK" default="0" type="INT32" boolean="true">
      <short_desc>Camera capture feedback</short_desc>
      <long_desc>Enables camera capture feedback</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="CAM_CAP_MODE" default="0" type="INT32">
      <short_desc>Camera capture timestamping mode</short_desc>
      <long_desc>Change time measurement</long_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Get absolute timestamp</value>
        <value code="1">Get timestamp of mid exposure (active high)</value>
        <value code="2">Get timestamp of mid exposure (active low)</value>
      </values>
    </parameter>
  </group>
  <group name="Camera trigger">
    <parameter name="TRIG_ACT_TIME" default="40.0" type="FLOAT">
      <short_desc>Camera trigger activation time</short_desc>
      <long_desc>This parameter sets the time the trigger needs to pulled high or low.</long_desc>
      <min>0.1</min>
      <max>3000</max>
      <unit>ms</unit>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="TRIG_DISTANCE" default="25.0" type="FLOAT">
      <short_desc>Camera trigger distance</short_desc>
      <long_desc>Sets the distance at which to trigger the camera.</long_desc>
      <min>0</min>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>1</increment>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="TRIG_INTERFACE" default="4" type="INT32">
      <short_desc>Camera trigger Interface</short_desc>
      <long_desc>Selects the trigger interface</long_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="1">GPIO</value>
        <value code="2">Seagull MAP2 (over PWM)</value>
        <value code="3">MAVLink (forward via MAV_CMD_IMAGE_START_CAPTURE)</value>
        <value code="4">Generic PWM (IR trigger, servo)</value>
      </values>
    </parameter>
    <parameter name="TRIG_INTERVAL" default="40.0" type="FLOAT">
      <short_desc>Camera trigger interval</short_desc>
      <long_desc>This parameter sets the time between two consecutive trigger events</long_desc>
      <min>4.0</min>
      <max>10000.0</max>
      <unit>ms</unit>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="TRIG_MIN_INTERVA" default="1.0" type="FLOAT">
      <short_desc>Minimum camera trigger interval</short_desc>
      <long_desc>This parameter sets the minimum time between two consecutive trigger events the specific camera setup is supporting.</long_desc>
      <min>1.0</min>
      <max>10000.0</max>
      <unit>ms</unit>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="TRIG_MODE" default="0" type="INT32">
      <short_desc>Camera trigger mode</short_desc>
      <min>0</min>
      <max>4</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disable</value>
        <value code="1">Time based, on command</value>
        <value code="2">Time based, always on</value>
        <value code="3">Distance based, always on</value>
        <value code="4">Distance based, on command (Survey mode)</value>
      </values>
    </parameter>
    <parameter name="TRIG_POLARITY" default="0" type="INT32">
      <short_desc>Camera trigger polarity</short_desc>
      <long_desc>This parameter sets the polarity of the trigger (0 = active low, 1 = active high )</long_desc>
      <min>0</min>
      <max>1</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Active low</value>
        <value code="1">Active high</value>
      </values>
    </parameter>
    <parameter name="TRIG_PWM_NEUTRAL" default="1500" type="INT32">
      <short_desc>PWM neutral output on trigger pin</short_desc>
      <min>1000</min>
      <max>2000</max>
      <unit>us</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="TRIG_PWM_SHOOT" default="1900" type="INT32">
      <short_desc>PWM output to trigger shot</short_desc>
      <min>1000</min>
      <max>2000</max>
      <unit>us</unit>
      <reboot_required>true</reboot_required>
    </parameter>
  </group>
  <group name="Circuit Breaker">
    <parameter name="CBRK_AIRSPD_CHK" default="0" type="INT32" category="Developer">
      <short_desc>Circuit breaker for airspeed sensor</short_desc>
      <long_desc>Setting this parameter to 162128 will disable the check for an airspeed sensor. The sensor driver will not be started and it cannot be calibrated. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK</long_desc>
      <min>0</min>
      <max>162128</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="CBRK_BUZZER" default="0" type="INT32" category="Developer">
      <short_desc>Circuit breaker for disabling buzzer</short_desc>
      <long_desc>Setting this parameter to 782097 will disable the buzzer audio notification. Setting this parameter to 782090 will disable the startup tune, while keeping all others enabled.</long_desc>
      <min>0</min>
      <max>782097</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="CBRK_FLIGHTTERM" default="121212" type="INT32" category="Developer">
      <short_desc>Circuit breaker for flight termination</short_desc>
      <long_desc>Setting this parameter to 121212 will disable the flight termination action if triggered by the FailureDetector logic or if FMU is lost. This circuit breaker does not affect the RC loss, data link loss, geofence, and takeoff failure detection safety logic.</long_desc>
      <min>0</min>
      <max>121212</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="CBRK_IO_SAFETY" default="22027" type="INT32" category="Developer">
      <short_desc>Circuit breaker for IO safety</short_desc>
      <long_desc>Setting this parameter to 22027 will disable IO safety. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK</long_desc>
      <min>0</min>
      <max>22027</max>
    </parameter>
    <parameter name="CBRK_SUPPLY_CHK" default="0" type="INT32" category="Developer">
      <short_desc>Circuit breaker for power supply check</short_desc>
      <long_desc>Setting this parameter to 894281 will disable the power valid checks in the commander. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK</long_desc>
      <min>0</min>
      <max>894281</max>
    </parameter>
    <parameter name="CBRK_USB_CHK" default="197848" type="INT32" category="Developer">
      <short_desc>Circuit breaker for USB link check</short_desc>
      <long_desc>Setting this parameter to 197848 will disable the USB connected checks in the commander, setting it to 0 keeps them enabled (recommended). We are generally recommending to not fly with the USB link connected and production vehicles should set this parameter to zero to prevent users from flying USB powered. However, for R&amp;D purposes it has proven over the years to work just fine.</long_desc>
      <min>0</min>
      <max>197848</max>
    </parameter>
    <parameter name="CBRK_VTOLARMING" default="0" type="INT32" category="Developer">
      <short_desc>Circuit breaker for arming in fixed-wing mode check</short_desc>
      <long_desc>Setting this parameter to 159753 will enable arming in fixed-wing mode for VTOLs. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK</long_desc>
      <min>0</min>
      <max>159753</max>
    </parameter>
  </group>
  <group name="Commander">
    <parameter name="COM_ACT_FAIL_ACT" default="0" type="INT32">
      <short_desc>Set the actuator failure failsafe mode</short_desc>
      <long_desc>Note: actuator failure needs to be enabled and configured via FD_ACT_* parameters.</long_desc>
      <min>0</min>
      <max>3</max>
      <values>
        <value code="0">Warning only</value>
        <value code="1">Hold mode</value>
        <value code="2">Land mode</value>
        <value code="3">Return mode</value>
        <value code="4">Terminate</value>
      </values>
    </parameter>
    <parameter name="COM_ARMABLE" default="1" type="INT32" boolean="true">
      <short_desc>Flag to allow arming</short_desc>
      <long_desc>Set 0 to prevent accidental use of the vehicle e.g. for safety or maintenance reasons.</long_desc>
      <values>
        <value code="0">Disallow arming</value>
        <value code="1">Allow arming</value>
      </values>
    </parameter>
    <parameter name="COM_ARM_ARSP_EN" default="1" type="INT32">
      <short_desc>Enable preflight check for maximal allowed airspeed when arming</short_desc>
      <long_desc>Deny arming if the current airspeed measurement is greater than half the cruise airspeed (FW_AIRSPD_TRIM). Excessive airspeed measurements on ground are either caused by wind or bad airspeed calibration.</long_desc>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Enabled</value>
      </values>
    </parameter>
    <parameter name="COM_ARM_AUTH_ID" default="10" type="INT32">
      <short_desc>Arm authorizer system id</short_desc>
      <long_desc>Used if arm authorization is requested by COM_ARM_AUTH_REQ.</long_desc>
    </parameter>
    <parameter name="COM_ARM_AUTH_MET" default="0" type="INT32">
      <short_desc>Arm authorization method</short_desc>
      <long_desc>Methods: - one arm: request authorization and arm when authorization is received - two step arm: 1st arm command request an authorization and 2nd arm command arm the drone if authorized Used if arm authorization is requested by COM_ARM_AUTH_REQ.</long_desc>
      <values>
        <value code="0">one arm</value>
        <value code="1">two step arm</value>
      </values>
    </parameter>
    <parameter name="COM_ARM_AUTH_REQ" default="0" type="INT32" boolean="true">
      <short_desc>Require arm authorization to arm</short_desc>
      <long_desc>By default off. The default allows to arm the vehicle without a arm authorization.</long_desc>
    </parameter>
    <parameter name="COM_ARM_AUTH_TO" default="1" type="FLOAT">
      <short_desc>Arm authorization timeout</short_desc>
      <long_desc>Timeout for authorizer answer. Used if arm authorization is requested by COM_ARM_AUTH_REQ.</long_desc>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="COM_ARM_CHK_ESCS" default="0" type="INT32" boolean="true">
      <short_desc>Enable checks on ESCs that report telemetry</short_desc>
      <long_desc>If this parameter is set, the system will check ESC's online status and failures. This param is specific for ESCs reporting status. It shall be used only if ESCs support telemetry.</long_desc>
    </parameter>
    <parameter name="COM_ARM_EKF_HGT" default="1.0" type="FLOAT">
      <short_desc>Maximum EKF height innovation test ratio that will allow arming</short_desc>
      <min>0.1</min>
      <max>1.0</max>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="COM_ARM_EKF_POS" default="0.5" type="FLOAT">
      <short_desc>Maximum EKF position innovation test ratio that will allow arming</short_desc>
      <min>0.1</min>
      <max>1.0</max>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="COM_ARM_EKF_VEL" default="0.5" type="FLOAT">
      <short_desc>Maximum EKF velocity innovation test ratio that will allow arming</short_desc>
      <min>0.1</min>
      <max>1.0</max>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="COM_ARM_EKF_YAW" default="0.5" type="FLOAT">
      <short_desc>Maximum EKF yaw innovation test ratio that will allow arming</short_desc>
      <min>0.1</min>
      <max>1.0</max>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="COM_ARM_HFLT_CHK" default="1" type="INT32" boolean="true">
      <short_desc>Enable FMU SD card hardfault detection check</short_desc>
      <long_desc>This check detects if there are hardfault files present on the SD card. If so, and the parameter is enabled, arming is prevented.</long_desc>
    </parameter>
    <parameter name="COM_ARM_IMU_ACC" default="0.7" type="FLOAT">
      <short_desc>Maximum accelerometer inconsistency between IMU units that will allow arming</short_desc>
      <min>0.1</min>
      <max>1.0</max>
      <unit>m/s^2</unit>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="COM_ARM_IMU_GYR" default="0.25" type="FLOAT">
      <short_desc>Maximum rate gyro inconsistency between IMU units that will allow arming</short_desc>
      <min>0.02</min>
      <max>0.3</max>
      <unit>rad/s</unit>
      <decimal>3</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="COM_ARM_MAG_ANG" default="60" type="INT32">
      <short_desc>Maximum magnetic field inconsistency between units that will allow arming</short_desc>
      <long_desc>Set -1 to disable the check.</long_desc>
      <min>3</min>
      <max>180</max>
      <unit>deg</unit>
    </parameter>
    <parameter name="COM_ARM_MAG_STR" default="2" type="INT32">
      <short_desc>Enable mag strength preflight check</short_desc>
      <long_desc>Check if the estimator detects a strong magnetic disturbance (check enabled by EKF2_MAG_CHECK)</long_desc>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Deny arming</value>
        <value code="2">Warning only</value>
      </values>
    </parameter>
    <parameter name="COM_ARM_MIS_REQ" default="0" type="INT32" boolean="true">
      <short_desc>Require valid mission to arm</short_desc>
      <long_desc>The default allows to arm the vehicle without a valid mission.</long_desc>
    </parameter>
    <parameter name="COM_ARM_ODID" default="0" type="INT32">
      <short_desc>Enable Drone ID system detection and health check</short_desc>
      <long_desc>This check detects if the Open Drone ID system is missing. Depending on the value of the parameter, the check can be disabled, warn only or deny arming.</long_desc>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Warning only</value>
        <value code="2">Enforce Open Drone ID system presence</value>
      </values>
    </parameter>
    <parameter name="COM_ARM_SDCARD" default="1" type="INT32">
      <short_desc>Enable FMU SD card detection check</short_desc>
      <long_desc>This check detects if the FMU SD card is missing. Depending on the value of the parameter, the check can be disabled, warn only or deny arming.</long_desc>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Warning only</value>
        <value code="2">Enforce SD card presence</value>
      </values>
    </parameter>
    <parameter name="COM_ARM_SWISBTN" default="0" type="INT32" boolean="true">
      <short_desc>Arm switch is a momentary button</short_desc>
      <long_desc>0: Arming/disarming triggers on switch transition. 1: Arming/disarming triggers when holding the momentary button down for COM_RC_ARM_HYST like the stick gesture.</long_desc>
    </parameter>
    <parameter name="COM_ARM_WO_GPS" default="1" type="INT32">
      <short_desc>Allow arming without GPS</short_desc>
      <long_desc>The default allows the vehicle to arm without GPS signal.</long_desc>
      <values>
        <value code="0">Require GPS lock to arm</value>
        <value code="1">Allow arming without GPS</value>
      </values>
    </parameter>
    <parameter name="COM_CPU_MAX" default="95.0" type="FLOAT">
      <short_desc>Maximum allowed CPU load to still arm</short_desc>
      <long_desc>A negative value disables the check.</long_desc>
      <min>-1</min>
      <max>100</max>
      <unit>%</unit>
      <increment>1</increment>
    </parameter>
    <parameter name="COM_DISARM_LAND" default="2.0" type="FLOAT">
      <short_desc>Time-out for auto disarm after landing</short_desc>
      <long_desc>A non-zero, positive value specifies the time-out period in seconds after which the vehicle will be automatically disarmed in case a landing situation has been detected during this period. A zero or negative value means that automatic disarming triggered by landing detection is disabled.</long_desc>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="COM_DISARM_PRFLT" default="10.0" type="FLOAT">
      <short_desc>Time-out for auto disarm if not taking off</short_desc>
      <long_desc>A non-zero, positive value specifies the time in seconds, within which the vehicle is expected to take off after arming. In case the vehicle didn't takeoff within the timeout it disarms again. A negative value disables autmoatic disarming triggered by a pre-takeoff timeout.</long_desc>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="COM_DL_LOSS_T" default="10" type="INT32">
      <short_desc>GCS connection loss time threshold</short_desc>
      <long_desc>After this amount of seconds without datalink, the GCS connection lost mode triggers</long_desc>
      <min>5</min>
      <max>300</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="COM_FAIL_ACT_T" default="5." type="FLOAT">
      <short_desc>Delay between failsafe condition triggered and failsafe reaction</short_desc>
      <long_desc>Before entering failsafe (RTL, Land, Hold), wait COM_FAIL_ACT_T seconds in Hold mode for the user to realize. During that time the user cannot take over control. Afterwards the configured failsafe action is triggered and the user may take over. A zero value disables the delay and the user cannot take over via stick movements (switching modes is still allowed).</long_desc>
      <min>0.0</min>
      <max>25.0</max>
      <unit>s</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="COM_FLIGHT_UUID" default="0" type="INT32" volatile="true" category="System">
      <short_desc>Next flight UUID</short_desc>
      <long_desc>This number is incremented automatically after every flight on disarming in order to remember the next flight UUID. The first flight is 0.</long_desc>
      <min>0</min>
    </parameter>
    <parameter name="COM_FLTMODE1" default="-1" type="INT32">
      <short_desc>First flightmode slot (1000-1160)</short_desc>
      <long_desc>If the main switch channel is in this range the selected flight mode will be applied.</long_desc>
      <values>
        <value code="-1">Unassigned</value>
        <value code="0">Manual</value>
        <value code="1">Altitude</value>
        <value code="2">Position</value>
        <value code="3">Mission</value>
        <value code="4">Hold</value>
        <value code="5">Return</value>
        <value code="6">Acro</value>
        <value code="7">Offboard</value>
        <value code="8">Stabilized</value>
        <value code="10">Takeoff</value>
        <value code="11">Land</value>
        <value code="12">Follow Me</value>
        <value code="13">Precision Land</value>
      </values>
    </parameter>
    <parameter name="COM_FLTMODE2" default="-1" type="INT32">
      <short_desc>Second flightmode slot (1160-1320)</short_desc>
      <long_desc>If the main switch channel is in this range the selected flight mode will be applied.</long_desc>
      <values>
        <value code="-1">Unassigned</value>
        <value code="0">Manual</value>
        <value code="1">Altitude</value>
        <value code="2">Position</value>
        <value code="3">Mission</value>
        <value code="4">Hold</value>
        <value code="5">Return</value>
        <value code="6">Acro</value>
        <value code="7">Offboard</value>
        <value code="8">Stabilized</value>
        <value code="10">Takeoff</value>
        <value code="11">Land</value>
        <value code="12">Follow Me</value>
        <value code="13">Precision Land</value>
      </values>
    </parameter>
    <parameter name="COM_FLTMODE3" default="-1" type="INT32">
      <short_desc>Third flightmode slot (1320-1480)</short_desc>
      <long_desc>If the main switch channel is in this range the selected flight mode will be applied.</long_desc>
      <values>
        <value code="-1">Unassigned</value>
        <value code="0">Manual</value>
        <value code="1">Altitude</value>
        <value code="2">Position</value>
        <value code="3">Mission</value>
        <value code="4">Hold</value>
        <value code="5">Return</value>
        <value code="6">Acro</value>
        <value code="7">Offboard</value>
        <value code="8">Stabilized</value>
        <value code="10">Takeoff</value>
        <value code="11">Land</value>
        <value code="12">Follow Me</value>
        <value code="13">Precision Land</value>
      </values>
    </parameter>
    <parameter name="COM_FLTMODE4" default="-1" type="INT32">
      <short_desc>Fourth flightmode slot (1480-1640)</short_desc>
      <long_desc>If the main switch channel is in this range the selected flight mode will be applied.</long_desc>
      <values>
        <value code="-1">Unassigned</value>
        <value code="0">Manual</value>
        <value code="1">Altitude</value>
        <value code="2">Position</value>
        <value code="3">Mission</value>
        <value code="4">Hold</value>
        <value code="5">Return</value>
        <value code="6">Acro</value>
        <value code="7">Offboard</value>
        <value code="8">Stabilized</value>
        <value code="10">Takeoff</value>
        <value code="11">Land</value>
        <value code="12">Follow Me</value>
        <value code="13">Precision Land</value>
      </values>
    </parameter>
    <parameter name="COM_FLTMODE5" default="-1" type="INT32">
      <short_desc>Fifth flightmode slot (1640-1800)</short_desc>
      <long_desc>If the main switch channel is in this range the selected flight mode will be applied.</long_desc>
      <values>
        <value code="-1">Unassigned</value>
        <value code="0">Manual</value>
        <value code="1">Altitude</value>
        <value code="2">Position</value>
        <value code="3">Mission</value>
        <value code="4">Hold</value>
        <value code="5">Return</value>
        <value code="6">Acro</value>
        <value code="7">Offboard</value>
        <value code="8">Stabilized</value>
        <value code="10">Takeoff</value>
        <value code="11">Land</value>
        <value code="12">Follow Me</value>
        <value code="13">Precision Land</value>
      </values>
    </parameter>
    <parameter name="COM_FLTMODE6" default="-1" type="INT32">
      <short_desc>Sixth flightmode slot (1800-2000)</short_desc>
      <long_desc>If the main switch channel is in this range the selected flight mode will be applied.</long_desc>
      <values>
        <value code="-1">Unassigned</value>
        <value code="0">Manual</value>
        <value code="1">Altitude</value>
        <value code="2">Position</value>
        <value code="3">Mission</value>
        <value code="4">Hold</value>
        <value code="5">Return</value>
        <value code="6">Acro</value>
        <value code="7">Offboard</value>
        <value code="8">Stabilized</value>
        <value code="10">Takeoff</value>
        <value code="11">Land</value>
        <value code="12">Follow Me</value>
        <value code="13">Precision Land</value>
      </values>
    </parameter>
    <parameter name="COM_FLT_PROFILE" default="0" type="INT32">
      <short_desc>User Flight Profile</short_desc>
      <long_desc>Describes the intended use of the vehicle. Can be used by ground control software or log post processing. This param does not influence the behavior within the firmware. This means for example the control logic is independent of the setting of this param (but depends on other params).</long_desc>
      <values>
        <value code="0">Default</value>
        <value code="100">Pro User</value>
        <value code="200">Flight Tester</value>
        <value code="300">Developer</value>
      </values>
    </parameter>
    <parameter name="COM_FLT_TIME_MAX" default="-1" type="INT32">
      <short_desc>Maximum allowed flight time</short_desc>
      <long_desc>The vehicle aborts the current operation and returns to launch when the time since takeoff is above this value. It is not possible to resume the mission or switch to any auto mode other than RTL or Land. Taking over in any manual mode is still possible. Starting from 90% of the maximum flight time, a warning message will be sent every 1 minute with the remaining time until automatic RTL. Set to -1 to disable.</long_desc>
      <min>-1</min>
      <unit>s</unit>
    </parameter>
    <parameter name="COM_FORCE_SAFETY" default="0" type="INT32" boolean="true">
      <short_desc>Enable force safety</short_desc>
      <long_desc>Force safety when the vehicle disarms</long_desc>
    </parameter>
    <parameter name="COM_HLDL_LOSS_T" default="120" type="INT32">
      <short_desc>High Latency Datalink loss time threshold</short_desc>
      <long_desc>After this amount of seconds without datalink the data link lost mode triggers</long_desc>
      <min>60</min>
      <max>3600</max>
      <unit>s</unit>
    </parameter>
    <parameter name="COM_HLDL_REG_T" default="0" type="INT32">
      <short_desc>High Latency Datalink regain time threshold</short_desc>
      <long_desc>After a data link loss: after this number of seconds with a healthy datalink the 'datalink loss' flag is set back to false</long_desc>
      <min>0</min>
      <max>60</max>
      <unit>s</unit>
    </parameter>
    <parameter name="COM_HOME_EN" default="1" type="INT32" boolean="true">
      <short_desc>Home position enabled</short_desc>
      <long_desc>Set home position automatically if possible.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="COM_HOME_IN_AIR" default="0" type="INT32" boolean="true">
      <short_desc>Allows setting the home position after takeoff</short_desc>
      <long_desc>If set to true, the autopilot is allowed to set its home position after takeoff The true home position is back-computed if a local position is estimate if available. If no local position is available, home is set to the current position.</long_desc>
    </parameter>
    <parameter name="COM_IMB_PROP_ACT" default="0" type="INT32">
      <short_desc>Imbalanced propeller failsafe mode</short_desc>
      <long_desc>Action the system takes when an imbalanced propeller is detected by the failure detector. See also FD_IMB_PROP_THR to set the failure threshold.</long_desc>
      <increment>1</increment>
      <values>
        <value code="-1">Disabled</value>
        <value code="0">Warning</value>
        <value code="1">Return</value>
        <value code="2">Land</value>
      </values>
    </parameter>
    <parameter name="COM_KILL_DISARM" default="5.0" type="FLOAT">
      <short_desc>Timeout value for disarming when kill switch is engaged</short_desc>
      <min>0.0</min>
      <max>30.0</max>
      <unit>s</unit>
      <increment>0.1</increment>
    </parameter>
    <parameter name="COM_LKDOWN_TKO" default="3.0" type="FLOAT">
      <short_desc>Timeout for detecting a failure after takeoff</short_desc>
      <long_desc>A non-zero, positive value specifies the timeframe in seconds within failure detector is allowed to disarm the vehicle if attitude exceeds the limits defined in FD_FAIL_P and FD_FAIL_R. The check is not executed for flight modes that do support acrobatic maneuvers, e.g: Acro (MC/FW) and Manual (FW). A zero or negative value means that the check is disabled.</long_desc>
      <min>-1.0</min>
      <max>5.0</max>
      <unit>s</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="COM_LOW_BAT_ACT" default="0" type="INT32">
      <short_desc>Battery failsafe mode</short_desc>
      <long_desc>Action the system takes at critical battery. See also BAT_CRIT_THR and BAT_EMERGEN_THR for definition of battery states.</long_desc>
      <values>
        <value code="0">Warning</value>
        <value code="2">Land mode</value>
        <value code="3">Return at critical level, land at emergency level</value>
      </values>
    </parameter>
    <parameter name="COM_MOT_TEST_EN" default="1" type="INT32" boolean="true">
      <short_desc>Enable Motor Testing</short_desc>
      <long_desc>If set, enables the motor test interface via MAVLink (DO_MOTOR_TEST), that allows spinning the motors for testing purposes.</long_desc>
    </parameter>
    <parameter name="COM_OBC_LOSS_T" default="5.0" type="FLOAT">
      <short_desc>Time-out to wait when onboard computer connection is lost before warning about loss connection</short_desc>
      <min>0</min>
      <max>60</max>
      <unit>s</unit>
      <increment>0.01</increment>
    </parameter>
    <parameter name="COM_OBL_RC_ACT" default="0" type="INT32">
      <short_desc>Set offboard loss failsafe mode</short_desc>
      <long_desc>The offboard loss failsafe will only be entered after a timeout, set by COM_OF_LOSS_T in seconds.</long_desc>
      <values>
        <value code="0">Position mode</value>
        <value code="1">Altitude mode</value>
        <value code="2">Manual</value>
        <value code="3">Return mode</value>
        <value code="4">Land mode</value>
        <value code="5">Hold mode</value>
        <value code="6">Terminate</value>
        <value code="7">Disarm</value>
      </values>
    </parameter>
    <parameter name="COM_OBS_AVOID" default="0" type="INT32" boolean="true">
      <short_desc>Flag to enable obstacle avoidance</short_desc>
    </parameter>
    <parameter name="COM_OF_LOSS_T" default="1.0" type="FLOAT">
      <short_desc>Time-out to wait when offboard connection is lost before triggering offboard lost action</short_desc>
      <long_desc>See COM_OBL_RC_ACT to configure action.</long_desc>
      <min>0</min>
      <max>60</max>
      <unit>s</unit>
      <increment>0.01</increment>
    </parameter>
    <parameter name="COM_PARACHUTE" default="0" type="INT32" boolean="true">
      <short_desc>Expect and require a healthy MAVLink parachute system</short_desc>
    </parameter>
    <parameter name="COM_POSCTL_NAVL" default="0" type="INT32">
      <short_desc>Position control navigation loss response</short_desc>
      <long_desc>This sets the flight mode that will be used if navigation accuracy is no longer adequate for position control. If Altitude/Manual is selected: assume use of remote control after fallback. Switch to Altitude mode if a height estimate is available, else switch to MANUAL. If Land/Descend is selected: assume no use of remote control after fallback. Switch to Land mode if a height estimate is available, else switch to Descend.</long_desc>
      <values>
        <value code="0">Altitude/Manual</value>
        <value code="1">Land/Descend</value>
      </values>
    </parameter>
    <parameter name="COM_POS_FS_DELAY" default="1" type="INT32">
      <short_desc>Loss of position failsafe activation delay</short_desc>
      <long_desc>This sets number of seconds that the position checks need to be failed before the failsafe will activate. The default value has been optimised for rotary wing applications. For fixed wing applications, a larger value between 5 and 10 should be used.</long_desc>
      <min>1</min>
      <max>100</max>
      <unit>s</unit>
    </parameter>
    <parameter name="COM_POS_FS_EPH" default="5." type="FLOAT">
      <short_desc>Horizontal position error threshold</short_desc>
      <long_desc>This is the horizontal position error (EPH) threshold that will trigger a failsafe. The default is appropriate for a multicopter. Can be increased for a fixed-wing. If the previous position error was below this threshold, there is an additional factor of 2.5 applied (threshold for invalidation 2.5 times the one for validation).</long_desc>
      <min>0</min>
      <unit>m</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="COM_POS_LOW_EPH" default="-1.0" type="FLOAT">
      <short_desc>EPH threshold for RTL</short_desc>
      <long_desc>Specify the threshold for triggering a warning for low local position accuracy. Additionally triggers a RTL if currently in Mission or Loiter mode. Local position has to be still declared valid, which is most of all depending on COM_POS_FS_EPH. Use this feature on systems with dead-reckoning capabilites (e.g. fixed-wing vehicles with airspeed sensor) to improve the user notification and failure mitigation when flying in GNSS-denied areas. Set to -1 to disable.</long_desc>
      <min>-1</min>
      <unit>m</unit>
    </parameter>
    <parameter name="COM_POWER_COUNT" default="1" type="INT32">
      <short_desc>Required number of redundant power modules</short_desc>
      <long_desc>This configures a check to verify the expected number of 5V rail power supplies are present. By default only one is expected. Note: CBRK_SUPPLY_CHK disables all power checks including this one.</long_desc>
      <min>0</min>
      <max>4</max>
    </parameter>
    <parameter name="COM_PREARM_MODE" default="0" type="INT32">
      <short_desc>Condition to enter prearmed mode</short_desc>
      <long_desc>Condition to enter the prearmed state, an intermediate state between disarmed and armed in which non-throttling actuators are active.</long_desc>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Safety button</value>
        <value code="2">Always</value>
      </values>
    </parameter>
    <parameter name="COM_QC_ACT" default="0" type="INT32">
      <short_desc>Set command after a quadchute</short_desc>
      <values>
        <value code="-1">Warning only</value>
        <value code="0">Return mode</value>
        <value code="1">Land mode</value>
        <value code="2">Hold mode</value>
      </values>
    </parameter>
    <parameter name="COM_RCL_EXCEPT" default="0" type="INT32">
      <short_desc>RC loss exceptions</short_desc>
      <long_desc>Specify modes in which RC loss is ignored and the failsafe action not triggered.</long_desc>
      <min>0</min>
      <max>31</max>
      <bitmask>
        <bit index="0">Mission</bit>
        <bit index="1">Hold</bit>
        <bit index="2">Offboard</bit>
      </bitmask>
    </parameter>
    <parameter name="COM_RC_ARM_HYST" default="1000" type="INT32">
      <short_desc>RC input arm/disarm command duration</short_desc>
      <long_desc>The default value of 1000 requires the stick to be held in the arm or disarm position for 1 second.</long_desc>
      <min>100</min>
      <max>1500</max>
      <unit>ms</unit>
    </parameter>
    <parameter name="COM_RC_IN_MODE" default="3" type="INT32">
      <short_desc>RC control input mode</short_desc>
      <long_desc>A value of 0 enables RC transmitter control (only). A valid RC transmitter calibration is required. A value of 1 allows joystick control only. RC input handling and the associated checks are disabled. A value of 2 allows either RC Transmitter or Joystick input. The first valid input is used, will fallback to other sources if the input stream becomes invalid. A value of 3 allows either input from RC or joystick. The first available source is selected and used until reboot. A value of 4 ignores any stick input.</long_desc>
      <min>0</min>
      <max>4</max>
      <values>
        <value code="0">RC Transmitter only</value>
        <value code="1">Joystick only</value>
        <value code="2">RC and Joystick with fallback</value>
        <value code="3">RC or Joystick keep first</value>
        <value code="4">Stick input disabled</value>
      </values>
    </parameter>
    <parameter name="COM_RC_LOSS_T" default="0.5" type="FLOAT">
      <short_desc>RC loss time threshold</short_desc>
      <long_desc>After this amount of seconds without RC connection it's considered lost and not used anymore</long_desc>
      <min>0</min>
      <max>35</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="COM_RC_OVERRIDE" default="1" type="INT32">
      <short_desc>Enable RC stick override of auto and/or offboard modes</short_desc>
      <long_desc>When RC stick override is enabled, moving the RC sticks more than COM_RC_STICK_OV immediately gives control back to the pilot by switching to Position mode and if position is unavailable Altitude mode. Note: Only has an effect on multicopters, and VTOLs in multicopter mode. This parameter is not considered in case of a GPS failure (Descend flight mode), where stick override is always enabled.</long_desc>
      <min>0</min>
      <max>3</max>
      <bitmask>
        <bit index="0">Enable override during auto modes (except for in critical battery reaction)</bit>
        <bit index="1">Enable override during offboard mode</bit>
      </bitmask>
    </parameter>
    <parameter name="COM_RC_STICK_OV" default="30.0" type="FLOAT">
      <short_desc>RC stick override threshold</short_desc>
      <long_desc>If COM_RC_OVERRIDE is enabled and the joystick input is moved more than this threshold the autopilot the pilot takes over control.</long_desc>
      <min>5</min>
      <max>80</max>
      <unit>%</unit>
      <decimal>0</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="COM_SPOOLUP_TIME" default="1.0" type="FLOAT">
      <short_desc>Enforced delay between arming and further navigation</short_desc>
      <long_desc>The minimal time from arming the motors until moving the vehicle is possible is COM_SPOOLUP_TIME seconds. Goal: - Motors and propellers spool up to idle speed before getting commanded to spin faster - Timeout for ESCs and smart batteries to successfulyy do failure checks e.g. for stuck rotors before the vehicle is off the ground</long_desc>
      <min>0</min>
      <max>30</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="COM_TAKEOFF_ACT" default="0" type="INT32">
      <short_desc>Action after TAKEOFF has been accepted</short_desc>
      <long_desc>The mode transition after TAKEOFF has completed successfully.</long_desc>
      <values>
        <value code="0">Hold</value>
        <value code="1">Mission (if valid)</value>
      </values>
    </parameter>
    <parameter name="COM_VEL_FS_EVH" default="1." type="FLOAT">
      <short_desc>Horizontal velocity error threshold</short_desc>
      <long_desc>This is the horizontal velocity error (EVH) threshold that will trigger a failsafe. The default is appropriate for a multicopter. Can be increased for a fixed-wing. If the previous velocity error was below this threshold, there is an additional factor of 2.5 applied (threshold for invalidation 2.5 times the one for validation).</long_desc>
      <min>0</min>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="COM_WIND_MAX" default="-1." type="FLOAT">
      <short_desc>Wind speed RTL threshold</short_desc>
      <long_desc>Wind speed threshold above which an automatic return to launch is triggered. It is not possible to resume the mission or switch to any auto mode other than RTL or Land if this threshold is exceeded. Taking over in any manual mode is still possible. Set to -1 to disable.</long_desc>
      <min>-1</min>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="COM_WIND_WARN" default="-1." type="FLOAT">
      <short_desc>Wind speed warning threshold</short_desc>
      <long_desc>A warning is triggered if the currently estimated wind speed is above this value. Warning is sent periodically (every 1 minute). Set to -1 to disable.</long_desc>
      <min>-1</min>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="NAV_DLL_ACT" default="0" type="INT32">
      <short_desc>Set GCS connection loss failsafe mode</short_desc>
      <long_desc>The GCS connection loss failsafe will only be entered after a timeout, set by COM_DL_LOSS_T in seconds. Once the timeout occurs the selected action will be executed.</long_desc>
      <min>0</min>
      <max>6</max>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Hold mode</value>
        <value code="2">Return mode</value>
        <value code="3">Land mode</value>
        <value code="5">Terminate</value>
        <value code="6">Disarm</value>
      </values>
    </parameter>
    <parameter name="NAV_RCL_ACT" default="2" type="INT32">
      <short_desc>Set RC loss failsafe mode</short_desc>
      <long_desc>The RC loss failsafe will only be entered after a timeout, set by COM_RC_LOSS_T in seconds. If RC input checks have been disabled by setting the COM_RC_IN_MODE param it will not be triggered.</long_desc>
      <min>1</min>
      <max>6</max>
      <values>
        <value code="1">Hold mode</value>
        <value code="2">Return mode</value>
        <value code="3">Land mode</value>
        <value code="5">Terminate</value>
        <value code="6">Disarm</value>
      </values>
    </parameter>
  </group>
  <group name="Cyphal">
    <parameter name="CYPHAL_BAUD" default="1000000" type="INT32">
      <short_desc>UAVCAN/CAN v1 bus bitrate</short_desc>
      <min>20000</min>
      <max>1000000</max>
      <unit>bit/s</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="CYPHAL_ENABLE" default="1" type="INT32" boolean="true">
      <short_desc>Cyphal</short_desc>
      <long_desc>0 - Cyphal disabled. 1 - Enables Cyphal</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="CYPHAL_ID" default="1" type="INT32">
      <short_desc>Cyphal Node ID</short_desc>
      <long_desc>Read the specs at http://uavcan.org to learn more about Node ID.</long_desc>
      <min>-1</min>
      <max>125</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UCAN1_ACTR_PUB" default="-1" type="INT32">
      <short_desc>actuator_outputs uORB over Cyphal publication port ID</short_desc>
      <min>-1</min>
      <max>6143</max>
    </parameter>
    <parameter name="UCAN1_BMS_BP_SUB" default="-1" type="INT32">
      <short_desc>UDRAL battery parameters subscription  port ID</short_desc>
      <min>-1</min>
      <max>6143</max>
    </parameter>
    <parameter name="UCAN1_BMS_BS_SUB" default="-1" type="INT32">
      <short_desc>UDRAL battery status subscription port ID</short_desc>
      <min>-1</min>
      <max>6143</max>
    </parameter>
    <parameter name="UCAN1_BMS_ES_SUB" default="-1" type="INT32">
      <short_desc>UDRAL battery energy source subscription port ID</short_desc>
      <min>-1</min>
      <max>6143</max>
    </parameter>
    <parameter name="UCAN1_ESC0_SUB" default="-1" type="INT32">
      <short_desc>ESC 0 subscription port ID</short_desc>
      <min>-1</min>
      <max>6143</max>
    </parameter>
    <parameter name="UCAN1_ESC_PUB" default="-1" type="INT32">
      <short_desc>Cyphal ESC publication port ID</short_desc>
      <min>-1</min>
      <max>6143</max>
    </parameter>
    <parameter name="UCAN1_GPS0_SUB" default="-1" type="INT32">
      <short_desc>GPS 0 subscription port ID</short_desc>
      <min>-1</min>
      <max>6143</max>
    </parameter>
    <parameter name="UCAN1_GPS1_SUB" default="-1" type="INT32">
      <short_desc>GPS 1 subscription port ID</short_desc>
      <min>-1</min>
      <max>6143</max>
    </parameter>
    <parameter name="UCAN1_GPS_PUB" default="-1" type="INT32">
      <short_desc>Cyphal GPS publication port ID</short_desc>
      <min>-1</min>
      <max>6143</max>
    </parameter>
    <parameter name="UCAN1_LG_BMS_SUB" default="-1" type="INT32">
      <short_desc>Cyphal legacy battery port ID</short_desc>
      <min>-1</min>
      <max>6143</max>
    </parameter>
    <parameter name="UCAN1_SERVO_PUB" default="-1" type="INT32">
      <short_desc>Cyphal Servo publication port ID</short_desc>
      <min>-1</min>
      <max>6143</max>
    </parameter>
    <parameter name="UCAN1_UORB_GPS" default="-1" type="INT32">
      <short_desc>sensor_gps uORB over Cyphal subscription port ID</short_desc>
      <min>-1</min>
      <max>6143</max>
    </parameter>
    <parameter name="UCAN1_UORB_GPS_P" default="-1" type="INT32">
      <short_desc>sensor_gps uORB over Cyphal publication port ID</short_desc>
      <min>-1</min>
      <max>6143</max>
    </parameter>
  </group>
  <group name="EKF2">
    <parameter name="EKF2_ABIAS_INIT" default="0.2" type="FLOAT">
      <short_desc>1-sigma IMU accelerometer switch-on bias</short_desc>
      <min>0.0</min>
      <max>0.5</max>
      <unit>m/s^2</unit>
      <decimal>2</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EKF2_ABL_ACCLIM" default="25.0" type="FLOAT">
      <short_desc>Maximum IMU accel magnitude that allows IMU bias learning</short_desc>
      <long_desc>If the magnitude of the IMU accelerometer vector exceeds this value, the EKF delta velocity state estimation will be inhibited. This reduces the adverse effect of high manoeuvre accelerations and IMU nonlinerity and scale factor errors on the delta velocity bias estimates.</long_desc>
      <min>20.0</min>
      <max>200.0</max>
      <unit>m/s^2</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_ABL_GYRLIM" default="3.0" type="FLOAT">
      <short_desc>Maximum IMU gyro angular rate magnitude that allows IMU bias learning</short_desc>
      <long_desc>If the magnitude of the IMU angular rate vector exceeds this value, the EKF delta velocity state estimation will be inhibited. This reduces the adverse effect of rapid rotation rates and associated errors on the delta velocity bias estimates.</long_desc>
      <min>2.0</min>
      <max>20.0</max>
      <unit>rad/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_ABL_LIM" default="0.4" type="FLOAT">
      <short_desc>Accelerometer bias learning limit</short_desc>
      <long_desc>The ekf delta velocity bias states will be limited to within a range equivalent to +- of this value.</long_desc>
      <min>0.0</min>
      <max>0.8</max>
      <unit>m/s^2</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_ABL_TAU" default="0.5" type="FLOAT">
      <short_desc>Time constant used by acceleration and angular rate magnitude checks used to inhibit delta velocity bias learning</short_desc>
      <long_desc>The vector magnitude of angular rate and acceleration used to check if learning should be inhibited has a peak hold filter applied to it with an exponential decay. This parameter controls the time constant of the decay.</long_desc>
      <min>0.1</min>
      <max>1.0</max>
      <unit>s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_ACC_B_NOISE" default="3.0e-3" type="FLOAT">
      <short_desc>Process noise for IMU accelerometer bias prediction</short_desc>
      <min>0.0</min>
      <max>0.01</max>
      <unit>m/s^3</unit>
      <decimal>6</decimal>
    </parameter>
    <parameter name="EKF2_ACC_NOISE" default="3.5e-1" type="FLOAT">
      <short_desc>Accelerometer noise for covariance prediction</short_desc>
      <min>0.01</min>
      <max>1.0</max>
      <unit>m/s^2</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_AID_MASK" default="0" type="INT32">
      <short_desc>Will be removed after v1.14 release</short_desc>
      <long_desc>Set bits in the following positions to enable: 0 : Deprecated, use EKF2_GPS_CTRL instead 1 : Deprecated. use EKF2_OF_CTRL instead 2 : Deprecated, use EKF2_IMU_CTRL instead 3 : Deprecated, use EKF2_EV_CTRL instead 4 : Deprecated, use EKF2_EV_CTRL instead 5 : Deprecated. use EKF2_DRAG_CTRL instead 6 : Deprecated, use EKF2_EV_CTRL instead 7 : Deprecated, use EKF2_GPS_CTRL instead 8 : Deprecated, use EKF2_EV_CTRL instead</long_desc>
      <min>0</min>
      <max>511</max>
      <reboot_required>true</reboot_required>
      <bitmask>
        <bit index="0">unused</bit>
        <bit index="1">unused</bit>
        <bit index="2">unused</bit>
        <bit index="3">unused</bit>
        <bit index="4">unused</bit>
        <bit index="5">unused</bit>
        <bit index="6">unused</bit>
        <bit index="7">unused</bit>
        <bit index="8">unused</bit>
      </bitmask>
    </parameter>
    <parameter name="EKF2_ANGERR_INIT" default="0.1" type="FLOAT">
      <short_desc>1-sigma tilt angle uncertainty after gravity vector alignment</short_desc>
      <min>0.0</min>
      <max>0.5</max>
      <unit>rad</unit>
      <decimal>3</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EKF2_ARSP_THR" default="0.0" type="FLOAT">
      <short_desc>Airspeed fusion threshold</short_desc>
      <long_desc>A value of zero will deactivate airspeed fusion. Any other positive value will determine the minimum airspeed which will still be fused. Set to about 90% of the vehicles stall speed. Both airspeed fusion and sideslip fusion must be active for the EKF to continue navigating after loss of GPS. Use EKF2_FUSE_BETA to activate sideslip fusion. Note: side slip fusion is currently not supported for tailsitters.</long_desc>
      <min>0.0</min>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_ASPD_MAX" default="20.0" type="FLOAT">
      <short_desc>Upper limit on airspeed along individual axes used to correct baro for position error effects</short_desc>
      <min>5.0</min>
      <max>50.0</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_ASP_DELAY" default="100" type="FLOAT">
      <short_desc>Airspeed measurement delay relative to IMU measurements</short_desc>
      <min>0</min>
      <max>300</max>
      <unit>ms</unit>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EKF2_AVEL_DELAY" default="5" type="FLOAT">
      <short_desc>Auxiliary Velocity Estimate (e.g from a landing target) delay relative to IMU measurements</short_desc>
      <min>0</min>
      <max>300</max>
      <unit>ms</unit>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EKF2_BARO_CTRL" default="1" type="INT32" boolean="true">
      <short_desc>Barometric sensor height aiding</short_desc>
      <long_desc>If this parameter is enabled then the estimator will make use of the barometric height measurements to estimate its height in addition to other height sources (if activated).</long_desc>
    </parameter>
    <parameter name="EKF2_BARO_DELAY" default="0" type="FLOAT">
      <short_desc>Barometer measurement delay relative to IMU measurements</short_desc>
      <min>0</min>
      <max>300</max>
      <unit>ms</unit>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EKF2_BARO_GATE" default="5.0" type="FLOAT">
      <short_desc>Gate size for barometric and GPS height fusion</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>1.0</min>
      <unit>SD</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_BARO_NOISE" default="3.5" type="FLOAT">
      <short_desc>Measurement noise for barometric altitude</short_desc>
      <min>0.01</min>
      <max>15.0</max>
      <unit>m</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_BCOEF_X" default="100.0" type="FLOAT">
      <short_desc>X-axis ballistic coefficient used for multi-rotor wind estimation</short_desc>
      <long_desc>This parameter controls the prediction of drag produced by bluff body drag along the forward/reverse axis when flying a multi-copter which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed squared. The predicted drag from the rotors is specified separately by the EKF2_MCOEF parameter. Set this parameter to zero to turn off the bluff body drag model for this axis.</long_desc>
      <min>0.0</min>
      <max>200.0</max>
      <unit>kg/m^2</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_BCOEF_Y" default="100.0" type="FLOAT">
      <short_desc>Y-axis ballistic coefficient used for multi-rotor wind estimation</short_desc>
      <long_desc>This parameter controls the prediction of drag produced by bluff body drag along the right/left axis when flying a multi-copter, which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed squared. The predicted drag from the rotors is specified separately by the EKF2_MCOEF parameter. Set this parameter to zero to turn off the bluff body drag model for this axis.</long_desc>
      <min>0.0</min>
      <max>200.0</max>
      <unit>kg/m^2</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_BETA_GATE" default="5.0" type="FLOAT">
      <short_desc>Gate size for synthetic sideslip fusion</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>1.0</min>
      <unit>SD</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_BETA_NOISE" default="0.3" type="FLOAT">
      <short_desc>Noise for synthetic sideslip fusion</short_desc>
      <min>0.1</min>
      <max>1.0</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_DECL_TYPE" default="7" type="INT32">
      <short_desc>Integer bitmask controlling handling of magnetic declination</short_desc>
      <long_desc>Set bits in the following positions to enable functions. 0 : Set to true to use the declination from the geo_lookup library when the GPS position becomes available, set to false to always use the EKF2_MAG_DECL value. 1 : Set to true to save the EKF2_MAG_DECL parameter to the value returned by the EKF when the vehicle disarms. 2 : Set to true to always use the declination as an observation when 3-axis magnetometer fusion is being used.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <bitmask>
        <bit index="0">use geo_lookup declination</bit>
        <bit index="1">save EKF2_MAG_DECL on disarm</bit>
        <bit index="2">use declination as an observation</bit>
      </bitmask>
    </parameter>
    <parameter name="EKF2_DRAG_CTRL" default="0" type="INT32" boolean="true">
      <short_desc>Multirotor wind estimation selection</short_desc>
      <long_desc>Activate wind speed estimation using specific-force measurements and a drag model defined by EKF2_BCOEF_[XY] and EKF2_MCOEF. Only use on vehicles that have their thrust aligned with the Z axis and no thrust in the XY plane.</long_desc>
    </parameter>
    <parameter name="EKF2_DRAG_NOISE" default="2.5" type="FLOAT">
      <short_desc>Specific drag force observation noise variance used by the multi-rotor specific drag force model</short_desc>
      <long_desc>Increasing this makes the multi-rotor wind estimates adjust more slowly.</long_desc>
      <min>0.5</min>
      <max>10.0</max>
      <unit>(m/s^2)^2</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_EAS_NOISE" default="1.4" type="FLOAT">
      <short_desc>Measurement noise for airspeed fusion</short_desc>
      <min>0.5</min>
      <max>5.0</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_EVA_NOISE" default="0.1" type="FLOAT">
      <short_desc>Measurement noise for vision angle observations used to lower bound or replace the uncertainty included in the message</short_desc>
      <min>0.05</min>
      <unit>rad</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_EVP_GATE" default="5.0" type="FLOAT">
      <short_desc>Gate size for vision position fusion</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>1.0</min>
      <unit>SD</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_EVP_NOISE" default="0.1" type="FLOAT">
      <short_desc>Measurement noise for vision position observations used to lower bound or replace the uncertainty included in the message</short_desc>
      <min>0.01</min>
      <unit>m</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_EVV_GATE" default="3.0" type="FLOAT">
      <short_desc>Gate size for vision velocity estimate fusion</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>1.0</min>
      <unit>SD</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_EVV_NOISE" default="0.1" type="FLOAT">
      <short_desc>Measurement noise for vision velocity observations used to lower bound or replace the uncertainty included in the message</short_desc>
      <min>0.01</min>
      <unit>m/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_EV_CTRL" default="15" type="INT32">
      <short_desc>External vision (EV) sensor aiding</short_desc>
      <long_desc>Set bits in the following positions to enable: 0 : Horizontal position fusion 1 : Vertical position fusion 2 : 3D velocity fusion 3 : Yaw</long_desc>
      <min>0</min>
      <max>15</max>
      <bitmask>
        <bit index="0">Horizontal position</bit>
        <bit index="1">Vertical position</bit>
        <bit index="2">3D velocity</bit>
        <bit index="3">Yaw</bit>
      </bitmask>
    </parameter>
    <parameter name="EKF2_EV_DELAY" default="0" type="FLOAT">
      <short_desc>Vision Position Estimator delay relative to IMU measurements</short_desc>
      <min>0</min>
      <max>300</max>
      <unit>ms</unit>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EKF2_EV_NOISE_MD" default="0" type="INT32">
      <short_desc>External vision (EV) noise mode</short_desc>
      <long_desc>If set to 0 (default) the measurement noise is taken from the vision message and the EV noise parameters are used as a lower bound. If set to 1 the observation noise is set from the parameters directly,</long_desc>
      <values>
        <value code="0">EV reported variance (parameter lower bound)</value>
        <value code="1">EV noise parameters</value>
      </values>
    </parameter>
    <parameter name="EKF2_EV_POS_X" default="0.0" type="FLOAT">
      <short_desc>X position of VI sensor focal point in body frame (forward axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_EV_POS_Y" default="0.0" type="FLOAT">
      <short_desc>Y position of VI sensor focal point in body frame (right axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_EV_POS_Z" default="0.0" type="FLOAT">
      <short_desc>Z position of VI sensor focal point in body frame (down axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_EV_QMIN" default="0" type="INT32">
      <short_desc>External vision (EV) minimum quality (optional)</short_desc>
      <long_desc>External vision will only be started and fused if the quality metric is above this threshold. The quality metric is a completely optional field provided by some VIO systems.</long_desc>
      <min>0</min>
      <max>100</max>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_FUSE_BETA" default="0" type="INT32" boolean="true">
      <short_desc>Boolean determining if synthetic sideslip measurements should fused</short_desc>
      <long_desc>A value of 1 indicates that fusion is active Both  sideslip fusion and airspeed fusion must be active for the EKF to continue navigating after loss of GPS. Use EKF2_ARSP_THR to activate airspeed fusion.</long_desc>
    </parameter>
    <parameter name="EKF2_GBIAS_INIT" default="0.1" type="FLOAT">
      <short_desc>1-sigma IMU gyro switch-on bias</short_desc>
      <min>0.0</min>
      <max>0.2</max>
      <unit>rad/s</unit>
      <decimal>2</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EKF2_GND_EFF_DZ" default="4.0" type="FLOAT">
      <short_desc>Baro deadzone range for height fusion</short_desc>
      <long_desc>Sets the value of deadzone applied to negative baro innovations. Deadzone is enabled when EKF2_GND_EFF_DZ &gt; 0.</long_desc>
      <min>0.0</min>
      <max>10.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_GND_MAX_HGT" default="0.5" type="FLOAT">
      <short_desc>Height above ground level for ground effect zone</short_desc>
      <long_desc>Sets the maximum distance to the ground level where negative baro innovations are expected.</long_desc>
      <min>0.0</min>
      <max>5.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_GPS_CHECK" default="245" type="INT32">
      <short_desc>Integer bitmask controlling GPS checks</short_desc>
      <long_desc>Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Minimum required sat count set by EKF2_REQ_NSATS 1 : Maximum allowed PDOP set by EKF2_REQ_PDOP 2 : Maximum allowed horizontal position error set by EKF2_REQ_EPH 3 : Maximum allowed vertical position error set by EKF2_REQ_EPV 4 : Maximum allowed speed error set by EKF2_REQ_SACC 5 : Maximum allowed horizontal position rate set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 6 : Maximum allowed vertical position rate set by EKF2_REQ_VDRIFT. This check will only run when the vehicle is on ground and stationary. 7 : Maximum allowed horizontal speed set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 8 : Maximum allowed vertical velocity discrepancy set by EKF2_REQ_VDRIFT</long_desc>
      <min>0</min>
      <max>511</max>
      <bitmask>
        <bit index="0">Min sat count (EKF2_REQ_NSATS)</bit>
        <bit index="1">Max PDOP (EKF2_REQ_PDOP)</bit>
        <bit index="2">Max horizontal position error (EKF2_REQ_EPH)</bit>
        <bit index="3">Max vertical position error (EKF2_REQ_EPV)</bit>
        <bit index="4">Max speed error (EKF2_REQ_SACC)</bit>
        <bit index="5">Max horizontal position rate (EKF2_REQ_HDRIFT)</bit>
        <bit index="6">Max vertical position rate (EKF2_REQ_VDRIFT)</bit>
        <bit index="7">Max horizontal speed (EKF2_REQ_HDRIFT)</bit>
        <bit index="8">Max vertical velocity discrepancy (EKF2_REQ_VDRIFT)</bit>
      </bitmask>
    </parameter>
    <parameter name="EKF2_GPS_CTRL" default="7" type="INT32">
      <short_desc>GNSS sensor aiding</short_desc>
      <long_desc>Set bits in the following positions to enable: 0 : Longitude and latitude fusion 1 : Altitude fusion 2 : 3D velocity fusion 3 : Dual antenna heading fusion</long_desc>
      <min>0</min>
      <max>15</max>
      <bitmask>
        <bit index="0">Lon/lat</bit>
        <bit index="1">Altitude</bit>
        <bit index="2">3D velocity</bit>
        <bit index="3">Dual antenna heading</bit>
      </bitmask>
    </parameter>
    <parameter name="EKF2_GPS_DELAY" default="110" type="FLOAT">
      <short_desc>GPS measurement delay relative to IMU measurements</short_desc>
      <min>0</min>
      <max>300</max>
      <unit>ms</unit>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EKF2_GPS_POS_X" default="0.0" type="FLOAT">
      <short_desc>X position of GPS antenna in body frame (forward axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_GPS_POS_Y" default="0.0" type="FLOAT">
      <short_desc>Y position of GPS antenna in body frame (right axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_GPS_POS_Z" default="0.0" type="FLOAT">
      <short_desc>Z position of GPS antenna in body frame (down axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_GPS_P_GATE" default="5.0" type="FLOAT">
      <short_desc>Gate size for GPS horizontal position fusion</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>1.0</min>
      <unit>SD</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_GPS_P_NOISE" default="0.5" type="FLOAT">
      <short_desc>Measurement noise for gps position</short_desc>
      <min>0.01</min>
      <max>10.0</max>
      <unit>m</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_GPS_V_GATE" default="5.0" type="FLOAT">
      <short_desc>Gate size for GPS velocity fusion</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>1.0</min>
      <unit>SD</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_GPS_V_NOISE" default="0.3" type="FLOAT">
      <short_desc>Measurement noise for gps horizontal velocity</short_desc>
      <min>0.01</min>
      <max>5.0</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_GRAV_NOISE" default="1.0" type="FLOAT">
      <short_desc>Accelerometer measurement noise for gravity based observations</short_desc>
      <min>0.1</min>
      <max>10.0</max>
      <unit>m/s^2</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_GSF_TAS" default="15.0" type="FLOAT">
      <short_desc>Default value of true airspeed used in EKF-GSF AHRS calculation</short_desc>
      <long_desc>If no airspeed measurements are available, the EKF-GSF AHRS calculation will assume this value of true airspeed when compensating for centripetal acceleration during turns. Set to zero to disable centripetal acceleration compensation during fixed wing flight modes.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_GYR_B_LIM" default="0.15" type="FLOAT">
      <short_desc>Gyro bias learning limit</short_desc>
      <long_desc>The ekf delta angle bias states will be limited to within a range equivalent to +- of this value.</long_desc>
      <min>0.0</min>
      <max>0.4</max>
      <unit>rad/s</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_GYR_B_NOISE" default="1.0e-3" type="FLOAT">
      <short_desc>Process noise for IMU rate gyro bias prediction</short_desc>
      <min>0.0</min>
      <max>0.01</max>
      <unit>rad/s^2</unit>
      <decimal>6</decimal>
    </parameter>
    <parameter name="EKF2_GYR_NOISE" default="1.5e-2" type="FLOAT">
      <short_desc>Rate gyro noise for covariance prediction</short_desc>
      <min>0.0001</min>
      <max>0.1</max>
      <unit>rad/s</unit>
      <decimal>4</decimal>
    </parameter>
    <parameter name="EKF2_HDG_GATE" default="2.6" type="FLOAT">
      <short_desc>Gate size for heading fusion</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>1.0</min>
      <unit>SD</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_HEAD_NOISE" default="0.3" type="FLOAT">
      <short_desc>Measurement noise for magnetic heading fusion</short_desc>
      <min>0.01</min>
      <max>1.0</max>
      <unit>rad</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_HGT_REF" default="1" type="INT32">
      <short_desc>Determines the reference source of height data used by the EKF</short_desc>
      <long_desc>When multiple height sources are enabled at the same time, the height estimate will always converge towards the reference height source selected by this parameter. The range sensor and vision options should only be used when for operation over a flat surface as the local NED origin will move up and down with ground level.</long_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Barometric pressure</value>
        <value code="1">GPS</value>
        <value code="2">Range sensor</value>
        <value code="3">Vision</value>
      </values>
    </parameter>
    <parameter name="EKF2_IMU_CTRL" default="3" type="INT32">
      <short_desc>IMU control</short_desc>
      <min>0</min>
      <max>7</max>
      <bitmask>
        <bit index="0">Gyro Bias</bit>
        <bit index="1">Accel Bias</bit>
        <bit index="2">Gravity vector fusion</bit>
      </bitmask>
    </parameter>
    <parameter name="EKF2_IMU_POS_X" default="0.0" type="FLOAT">
      <short_desc>X position of IMU in body frame (forward axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_IMU_POS_Y" default="0.0" type="FLOAT">
      <short_desc>Y position of IMU in body frame (right axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_IMU_POS_Z" default="0.0" type="FLOAT">
      <short_desc>Z position of IMU in body frame (down axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_MAG_ACCLIM" default="0.5" type="FLOAT">
      <short_desc>Horizontal acceleration threshold used by automatic selection of magnetometer fusion method</short_desc>
      <long_desc>This parameter is used when the magnetometer fusion method is set automatically (EKF2_MAG_TYPE = 0). If the filtered horizontal acceleration is greater than this parameter value, then the EKF will use 3-axis magnetometer fusion.</long_desc>
      <min>0.0</min>
      <max>5.0</max>
      <unit>m/s^2</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_MAG_B_NOISE" default="1.0e-4" type="FLOAT">
      <short_desc>Process noise for body magnetic field prediction</short_desc>
      <min>0.0</min>
      <max>0.1</max>
      <unit>gauss/s</unit>
      <decimal>6</decimal>
    </parameter>
    <parameter name="EKF2_MAG_CHECK" default="1" type="INT32" boolean="true">
      <short_desc>Magnetic field strength test selection</short_desc>
      <long_desc>When set, the EKF checks the strength of the magnetic field to decide whether the magnetometer data is valid. If GPS data is received, the magnetic field is compared to a World Magnetic Model (WMM), otherwise an average value is used. This check is useful to reject occasional hard iron disturbance.</long_desc>
    </parameter>
    <parameter name="EKF2_MAG_DECL" default="0" type="FLOAT" volatile="true" category="System">
      <short_desc>Magnetic declination</short_desc>
      <unit>deg</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_MAG_DELAY" default="0" type="FLOAT">
      <short_desc>Magnetometer measurement delay relative to IMU measurements</short_desc>
      <min>0</min>
      <max>300</max>
      <unit>ms</unit>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EKF2_MAG_E_NOISE" default="1.0e-3" type="FLOAT">
      <short_desc>Process noise for earth magnetic field prediction</short_desc>
      <min>0.0</min>
      <max>0.1</max>
      <unit>gauss/s</unit>
      <decimal>6</decimal>
    </parameter>
    <parameter name="EKF2_MAG_GATE" default="3.0" type="FLOAT">
      <short_desc>Gate size for magnetometer XYZ component fusion</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>1.0</min>
      <unit>SD</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_MAG_NOISE" default="5.0e-2" type="FLOAT">
      <short_desc>Measurement noise for magnetometer 3-axis fusion</short_desc>
      <min>0.001</min>
      <max>1.0</max>
      <unit>gauss</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_MAG_TYPE" default="0" type="INT32">
      <short_desc>Type of magnetometer fusion</short_desc>
      <long_desc>Integer controlling the type of magnetometer fusion used - magnetic heading or 3-component vector. The fusion of magnetometer data as a three component vector enables vehicle body fixed hard iron errors to be learned, but requires a stable earth field. If set to 'Automatic' magnetic heading fusion is used when on-ground and 3-axis magnetic field fusion in-flight with fallback to magnetic heading fusion if there is insufficient motion to make yaw or magnetic field states observable. If set to 'Magnetic heading' magnetic heading fusion is used at all times. If set to '3-axis' 3-axis field fusion is used at all times. If set to 'VTOL custom' the behaviour is the same as 'Automatic', but if fusing airspeed, magnetometer fusion is only allowed to modify the magnetic field states. This can be used by VTOL platforms with large magnetic field disturbances to prevent incorrect bias states being learned during forward flight operation which can adversely affect estimation accuracy after transition to hovering flight. If set to 'MC custom' the behaviour is the same as 'Automatic, but if there are no earth frame position or velocity observations being used, the magnetometer will not be used. This enables vehicles to operate with no GPS in environments where the magnetic field cannot be used to provide a heading reference. Prior to flight, the yaw angle is assumed to be constant if movement tests indicate that the vehicle is static. This allows the vehicle to be placed on the ground to learn the yaw gyro bias prior to flight. If set to 'None' the magnetometer will not be used under any circumstance. If no external source of yaw is available, it is possible to use post-takeoff horizontal movement combined with GPS velocity measurements to align the yaw angle with the timer required (depending on the amount of movement and GPS data quality).</long_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Automatic</value>
        <value code="1">Magnetic heading</value>
        <value code="2">3-axis</value>
        <value code="3">VTOL custom</value>
        <value code="4">MC custom</value>
        <value code="5">None</value>
      </values>
    </parameter>
    <parameter name="EKF2_MAG_YAWLIM" default="0.20" type="FLOAT">
      <short_desc>Yaw rate threshold used by automatic selection of magnetometer fusion method</short_desc>
      <long_desc>This parameter is used when the magnetometer fusion method is set automatically (EKF2_MAG_TYPE = 0). If the filtered yaw rate is greater than this parameter value, then the EKF will use 3-axis magnetometer fusion.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>rad/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_MCOEF" default="0.15" type="FLOAT">
      <short_desc>Propeller momentum drag coefficient used for multi-rotor wind estimation</short_desc>
      <long_desc>This parameter controls the prediction of drag produced by the propellers when flying a multi-copter, which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed not speed squared and is produced because some of the air velocity normal to the propeller axis of rotation is lost when passing through the rotor disc. This  changes the momentum of the flow which creates a drag reaction force. When comparing un-ducted propellers of the same diameter, the effect is roughly proportional to the area of the propeller blades when viewed side on and changes with propeller selection. Momentum drag is significantly higher for ducted rotors. To account for the drag produced by the body which scales with speed squared, see documentation for the EKF2_BCOEF_X and EKF2_BCOEF_Y parameters. Set this parameter to zero to turn off the momentum drag model for both axis.</long_desc>
      <min>0</min>
      <max>1.0</max>
      <unit>1/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_MIN_RNG" default="0.1" type="FLOAT">
      <short_desc>Expected range finder reading when on ground</short_desc>
      <long_desc>If the vehicle is on ground, is not moving as determined by the motion test and the range finder is returning invalid or no data, then an assumed range value of EKF2_MIN_RNG will be used by the terrain estimator so that a terrain height estimate is available at the start of flight in situations where the range finder may be inside its minimum measurements distance when on ground.</long_desc>
      <min>0.01</min>
      <unit>m</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_MULTI_IMU" default="0" type="INT32">
      <short_desc>Multi-EKF IMUs</short_desc>
      <long_desc>Maximum number of IMUs to use for Multi-EKF. Set 0 to disable. Requires SENS_IMU_MODE 0.</long_desc>
      <min>0</min>
      <max>4</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EKF2_MULTI_MAG" default="0" type="INT32">
      <short_desc>Multi-EKF Magnetometers</short_desc>
      <long_desc>Maximum number of magnetometers to use for Multi-EKF. Set 0 to disable. Requires SENS_MAG_MODE 0.</long_desc>
      <min>0</min>
      <max>4</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EKF2_NOAID_NOISE" default="10.0" type="FLOAT">
      <short_desc>Measurement noise for non-aiding position hold</short_desc>
      <min>0.5</min>
      <max>50.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_NOAID_TOUT" default="5000000" type="INT32">
      <short_desc>Maximum lapsed time from last fusion of measurements that constrain velocity drift before the EKF will report the horizontal nav solution as invalid</short_desc>
      <min>500000</min>
      <max>10000000</max>
      <unit>us</unit>
    </parameter>
    <parameter name="EKF2_OF_CTRL" default="0" type="INT32" boolean="true">
      <short_desc>Optical flow aiding</short_desc>
      <long_desc>Enable optical flow fusion.</long_desc>
    </parameter>
    <parameter name="EKF2_OF_DELAY" default="20" type="FLOAT">
      <short_desc>Optical flow measurement delay relative to IMU measurements</short_desc>
      <long_desc>Assumes measurement is timestamped at trailing edge of integration period</long_desc>
      <min>0</min>
      <max>300</max>
      <unit>ms</unit>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EKF2_OF_GATE" default="3.0" type="FLOAT">
      <short_desc>Gate size for optical flow fusion</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>1.0</min>
      <unit>SD</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_OF_N_MAX" default="0.5" type="FLOAT">
      <short_desc>Measurement noise for the optical flow sensor</short_desc>
      <long_desc>(when it's reported quality metric is at the minimum set by EKF2_OF_QMIN). The following condition must be met: EKF2_OF_N_MAXN &gt;= EKF2_OF_N_MIN</long_desc>
      <min>0.05</min>
      <unit>rad/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_OF_N_MIN" default="0.15" type="FLOAT">
      <short_desc>Measurement noise for the optical flow sensor when it's reported quality metric is at the maximum</short_desc>
      <min>0.05</min>
      <unit>rad/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_OF_POS_X" default="0.0" type="FLOAT">
      <short_desc>X position of optical flow focal point in body frame (forward axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_OF_POS_Y" default="0.0" type="FLOAT">
      <short_desc>Y position of optical flow focal point in body frame (right axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_OF_POS_Z" default="0.0" type="FLOAT">
      <short_desc>Z position of optical flow focal point in body frame (down axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_OF_QMIN" default="1" type="INT32">
      <short_desc>Optical Flow data will only be used if the sensor reports a quality metric &gt;= EKF2_OF_QMIN</short_desc>
      <min>0</min>
      <max>255</max>
    </parameter>
    <parameter name="EKF2_PCOEF_XN" default="0.0" type="FLOAT">
      <short_desc>Static pressure position error coefficient for the negative X axis</short_desc>
      <long_desc>This is the ratio of static pressure error to dynamic pressure generated by a negative wind relative velocity along the X body axis. If the baro height estimate rises during backwards flight, then this will be a negative number.</long_desc>
      <min>-0.5</min>
      <max>0.5</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_PCOEF_XP" default="0.0" type="FLOAT">
      <short_desc>Static pressure position error coefficient for the positive X axis</short_desc>
      <long_desc>This is the ratio of static pressure error to dynamic pressure generated by a positive wind relative velocity along the X body axis. If the baro height estimate rises during forward flight, then this will be a negative number.</long_desc>
      <min>-0.5</min>
      <max>0.5</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_PCOEF_YN" default="0.0" type="FLOAT">
      <short_desc>Pressure position error coefficient for the negative Y axis</short_desc>
      <long_desc>This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the negative Y (LH) body axis. If the baro height estimate rises during sideways flight to the left, then this will be a negative number.</long_desc>
      <min>-0.5</min>
      <max>0.5</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_PCOEF_YP" default="0.0" type="FLOAT">
      <short_desc>Pressure position error coefficient for the positive Y axis</short_desc>
      <long_desc>This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the positive Y (RH) body axis. If the baro height estimate rises during sideways flight to the right, then this will be a negative number.</long_desc>
      <min>-0.5</min>
      <max>0.5</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_PCOEF_Z" default="0.0" type="FLOAT">
      <short_desc>Static pressure position error coefficient for the Z axis</short_desc>
      <long_desc>This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the Z body axis.</long_desc>
      <min>-0.5</min>
      <max>0.5</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_PREDICT_US" default="10000" type="INT32">
      <short_desc>EKF prediction period</short_desc>
      <long_desc>EKF prediction period in microseconds. This should ideally be an integer multiple of the IMU time delta. Actual filter update will be an integer multiple of IMU update.</long_desc>
      <min>1000</min>
      <max>20000</max>
      <unit>us</unit>
    </parameter>
    <parameter name="EKF2_REQ_EPH" default="3.0" type="FLOAT">
      <short_desc>Required EPH to use GPS</short_desc>
      <min>2</min>
      <max>100</max>
      <unit>m</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_REQ_EPV" default="5.0" type="FLOAT">
      <short_desc>Required EPV to use GPS</short_desc>
      <min>2</min>
      <max>100</max>
      <unit>m</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_REQ_GPS_H" default="10.0" type="FLOAT">
      <short_desc>Required GPS health time on startup</short_desc>
      <long_desc>Minimum continuous period without GPS failure required to mark a healthy GPS status. It can be reduced to speed up initialization, but it's recommended to keep this unchanged for a vehicle.</long_desc>
      <min>0.1</min>
      <unit>s</unit>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EKF2_REQ_HDRIFT" default="0.1" type="FLOAT">
      <short_desc>Maximum horizontal drift speed to use GPS</short_desc>
      <min>0.1</min>
      <max>1.0</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_REQ_NSATS" default="6" type="INT32">
      <short_desc>Required satellite count to use GPS</short_desc>
      <min>4</min>
      <max>12</max>
    </parameter>
    <parameter name="EKF2_REQ_PDOP" default="2.5" type="FLOAT">
      <short_desc>Maximum PDOP to use GPS</short_desc>
      <min>1.5</min>
      <max>5.0</max>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_REQ_SACC" default="0.5" type="FLOAT">
      <short_desc>Required speed accuracy to use GPS</short_desc>
      <min>0.5</min>
      <max>5.0</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_REQ_VDRIFT" default="0.2" type="FLOAT">
      <short_desc>Maximum vertical drift speed to use GPS</short_desc>
      <min>0.1</min>
      <max>1.5</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_RNG_A_HMAX" default="5.0" type="FLOAT">
      <short_desc>Maximum absolute altitude (height above ground level) allowed for conditional range aid mode</short_desc>
      <long_desc>If the vehicle absolute altitude exceeds this value then the estimator will not fuse range measurements to estimate its height. This only applies when conditional range aid mode is activated (EKF2_RNG_CTRL = 1).</long_desc>
      <min>1.0</min>
      <max>10.0</max>
      <unit>m</unit>
    </parameter>
    <parameter name="EKF2_RNG_A_IGATE" default="1.0" type="FLOAT">
      <short_desc>Gate size used for innovation consistency checks for range aid fusion</short_desc>
      <long_desc>A lower value means HAGL needs to be more stable in order to use range finder for height estimation in range aid mode</long_desc>
      <min>0.1</min>
      <max>5.0</max>
      <unit>SD</unit>
    </parameter>
    <parameter name="EKF2_RNG_A_VMAX" default="1.0" type="FLOAT">
      <short_desc>Maximum horizontal velocity allowed for conditional range aid mode</short_desc>
      <long_desc>If the vehicle horizontal speed exceeds this value then the estimator will not fuse range measurements to estimate its height. This only applies when conditional range aid mode is activated (EKF2_RNG_CTRL = 1).</long_desc>
      <min>0.1</min>
      <max>2</max>
      <unit>m/s</unit>
    </parameter>
    <parameter name="EKF2_RNG_CTRL" default="1" type="INT32">
      <short_desc>Range sensor height aiding</short_desc>
      <long_desc>WARNING: Range finder measurements are less reliable and can experience unexpected errors. For these reasons, if accurate control of height relative to ground is required, it is recommended to use the MPC_ALT_MODE parameter instead, unless baro errors are severe enough to cause problems with landing and takeoff. To en-/disable range finder for terrain height estimation, use EKF2_TERR_MASK instead. If this parameter is enabled then the estimator will make use of the range finder measurements to estimate its height in addition to other height sources (if activated). Range sensor aiding can be enabled (i.e.: always use) or set in "conditional" mode. Conditional mode: This enables the range finder to be used during low speed (&lt; EKF2_RNG_A_VMAX) and low altitude (&lt; EKF2_RNG_A_HMAX) operation, eg takeoff and landing, where baro interference from rotor wash is excessive and can corrupt EKF state estimates. It is intended to be used where a vertical takeoff and landing is performed, and horizontal flight does not occur until above EKF2_RNG_A_HMAX.</long_desc>
      <values>
        <value code="0">Disable range fusion</value>
        <value code="1">Enabled (conditional mode)</value>
        <value code="2">Enabled</value>
      </values>
    </parameter>
    <parameter name="EKF2_RNG_DELAY" default="5" type="FLOAT">
      <short_desc>Range finder measurement delay relative to IMU measurements</short_desc>
      <min>0</min>
      <max>300</max>
      <unit>ms</unit>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EKF2_RNG_GATE" default="5.0" type="FLOAT">
      <short_desc>Gate size for range finder fusion</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>1.0</min>
      <unit>SD</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_RNG_K_GATE" default="1.0" type="FLOAT">
      <short_desc>Gate size used for range finder kinematic consistency check</short_desc>
      <long_desc>To be used, the time derivative of the distance sensor measurements projected on the vertical axis needs to be statistically consistent with the estimated vertical velocity of the drone. Decrease this value to make the filter more robust against range finder faulty data (stuck, reflections, ...). Note: tune the range finder noise parameters (EKF2_RNG_NOISE and EKF2_RNG_SFE) before tuning this gate.</long_desc>
      <min>0.1</min>
      <max>5.0</max>
      <unit>SD</unit>
    </parameter>
    <parameter name="EKF2_RNG_NOISE" default="0.1" type="FLOAT">
      <short_desc>Measurement noise for range finder fusion</short_desc>
      <min>0.01</min>
      <unit>m</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_RNG_PITCH" default="0.0" type="FLOAT">
      <short_desc>Range sensor pitch offset</short_desc>
      <min>-0.75</min>
      <max>0.75</max>
      <unit>rad</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_RNG_POS_X" default="0.0" type="FLOAT">
      <short_desc>X position of range finder origin in body frame (forward axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_RNG_POS_Y" default="0.0" type="FLOAT">
      <short_desc>Y position of range finder origin in body frame (right axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_RNG_POS_Z" default="0.0" type="FLOAT">
      <short_desc>Z position of range finder origin in body frame (down axis with origin relative to vehicle centre of gravity)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="EKF2_RNG_QLTY_T" default="1.0" type="FLOAT">
      <short_desc>Minimum duration during which the reported range finder signal quality needs to be non-zero in order to be declared valid (s)</short_desc>
      <min>0.1</min>
      <max>5</max>
      <unit>s</unit>
    </parameter>
    <parameter name="EKF2_RNG_SFE" default="0.05" type="FLOAT">
      <short_desc>Range finder range dependent noise scaler</short_desc>
      <long_desc>Specifies the increase in range finder noise with range.</long_desc>
      <min>0.0</min>
      <max>0.2</max>
      <unit>m/m</unit>
    </parameter>
    <parameter name="EKF2_SEL_ERR_RED" default="0.2" type="FLOAT">
      <short_desc>Selector error reduce threshold</short_desc>
      <long_desc>EKF2 instances have to be better than the selected by at least this amount before their relative score can be reduced.</long_desc>
    </parameter>
    <parameter name="EKF2_SEL_IMU_ACC" default="1.0" type="FLOAT">
      <short_desc>Selector acceleration threshold</short_desc>
      <long_desc>EKF2 selector acceleration error threshold for comparing accelerometers. Acceleration vector differences larger than this will result in accumulated velocity error.</long_desc>
      <unit>m/s^2</unit>
    </parameter>
    <parameter name="EKF2_SEL_IMU_ANG" default="15.0" type="FLOAT">
      <short_desc>Selector angular threshold</short_desc>
      <long_desc>EKF2 selector maximum accumulated angular error threshold for comparing gyros. Accumulated angular error larger than this will result in the sensor being declared faulty.</long_desc>
      <unit>deg</unit>
    </parameter>
    <parameter name="EKF2_SEL_IMU_RAT" default="7.0" type="FLOAT">
      <short_desc>Selector angular rate threshold</short_desc>
      <long_desc>EKF2 selector angular rate error threshold for comparing gyros. Angular rate vector differences larger than this will result in accumulated angular error.</long_desc>
      <unit>deg/s</unit>
    </parameter>
    <parameter name="EKF2_SEL_IMU_VEL" default="2.0" type="FLOAT">
      <short_desc>Selector angular threshold</short_desc>
      <long_desc>EKF2 selector maximum accumulated velocity threshold for comparing accelerometers. Accumulated velocity error larger than this will result in the sensor being declared faulty.</long_desc>
      <unit>m/s</unit>
    </parameter>
    <parameter name="EKF2_SYNT_MAG_Z" default="0" type="INT32" boolean="true">
      <short_desc>Enable synthetic magnetometer Z component measurement</short_desc>
      <long_desc>Use for vehicles where the measured body Z magnetic field is subject to strong magnetic interference. For magnetic heading fusion the magnetometer Z measurement will be replaced by a synthetic value calculated using the knowledge of the 3D magnetic field vector at the location of the drone. Therefore, this parameter will only have an effect if the global position of the drone is known. For 3D mag fusion the magnetometer Z measurement will simply be ignored instead of fusing the synthetic value.</long_desc>
    </parameter>
    <parameter name="EKF2_TAS_GATE" default="3.0" type="FLOAT">
      <short_desc>Gate size for TAS fusion</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>1.0</min>
      <unit>SD</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_TAU_POS" default="0.25" type="FLOAT">
      <short_desc>Time constant of the position output prediction and smoothing filter. Controls how tightly the output track the EKF states</short_desc>
      <min>0.1</min>
      <max>1.0</max>
      <unit>s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_TAU_VEL" default="0.25" type="FLOAT">
      <short_desc>Time constant of the velocity output prediction and smoothing filter</short_desc>
      <max>1.0</max>
      <unit>s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_TERR_GRAD" default="0.5" type="FLOAT">
      <short_desc>Magnitude of terrain gradient</short_desc>
      <min>0.0</min>
      <unit>m/m</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="EKF2_TERR_MASK" default="3" type="INT32">
      <short_desc>Integer bitmask controlling fusion sources of the terrain estimator</short_desc>
      <long_desc>Set bits in the following positions to enable: 0 : Set to true to use range finder data if available 1 : Set to true to use optical flow data if available</long_desc>
      <min>0</min>
      <max>3</max>
      <bitmask>
        <bit index="0">use range finder</bit>
        <bit index="1">use optical flow</bit>
      </bitmask>
    </parameter>
    <parameter name="EKF2_TERR_NOISE" default="5.0" type="FLOAT">
      <short_desc>Terrain altitude process noise - accounts for instability in vehicle height estimate</short_desc>
      <min>0.5</min>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="EKF2_WIND_NSD" default="1.0e-2" type="FLOAT">
      <short_desc>Process noise spectral density for wind velocity prediction</short_desc>
      <long_desc>When unaided, the wind estimate uncertainty (1-sigma, in m/s) increases by this amount every second.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>m/s^2/sqrt(Hz)</unit>
      <decimal>3</decimal>
    </parameter>
  </group>
  <group name="ESC">
    <parameter name="ESC_BL_VER" default="0" type="INT32">
      <short_desc>Required esc bootloader version</short_desc>
      <min>0</min>
      <max>65535</max>
    </parameter>
    <parameter name="ESC_FW_VER" default="0" type="INT32">
      <short_desc>Required esc firmware version</short_desc>
      <min>0</min>
      <max>65535</max>
    </parameter>
    <parameter name="ESC_HW_VER" default="0" type="INT32">
      <short_desc>Required esc hardware version</short_desc>
      <min>0</min>
      <max>65535</max>
    </parameter>
  </group>
  <group name="Events">
    <parameter name="EV_TSK_RC_LOSS" default="0" type="INT32" boolean="true">
      <short_desc>RC Loss Alarm</short_desc>
      <long_desc>Enable/disable event task for RC Loss. When enabled, an alarm tune will be played via buzzer or ESCs, if supported. The alarm will sound after a disarm, if the vehicle was previously armed and only if the vehicle had RC signal at some point. Particularly useful for locating crashed drones without a GPS sensor.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="EV_TSK_STAT_DIS" default="0" type="INT32" boolean="true">
      <short_desc>Status Display</short_desc>
      <long_desc>Enable/disable event task for displaying the vehicle status using arm-mounted LEDs. When enabled and if the vehicle supports it, LEDs will flash indicating various vehicle status changes. Currently PX4 has not implemented any specific status events. -</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
  </group>
  <group name="FW Attitude Control">
    <parameter name="FW_MAN_P_MAX" default="30.0" type="FLOAT">
      <short_desc>Maximum manual pitch angle</short_desc>
      <long_desc>Maximum manual pitch angle setpoint (positive &amp; negative) in manual attitude-only stabilized mode</long_desc>
      <min>0.0</min>
      <max>90.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_MAN_R_MAX" default="45.0" type="FLOAT">
      <short_desc>Maximum manual roll angle</short_desc>
      <long_desc>Maximum manual roll angle setpoint (positive &amp; negative) in manual attitude-only stabilized mode</long_desc>
      <min>0.0</min>
      <max>90.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_MAN_YR_MAX" default="30." type="FLOAT">
      <short_desc>Maximum manually added yaw rate</short_desc>
      <long_desc>This is the maximally added yaw rate setpoint from the yaw stick in any attitude controlled flight mode. The controller already generates a yaw rate setpoint to coordinate a turn, and this value is added to it. This is an absolute value, which is applied symmetrically to the negative and positive side.</long_desc>
      <min>0</min>
      <unit>deg/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_PSP_OFF" default="0.0" type="FLOAT">
      <short_desc>Pitch setpoint offset (pitch at level flight)</short_desc>
      <long_desc>An airframe specific offset of the pitch setpoint in degrees, the value is added to the pitch setpoint and should correspond to the pitch at typical cruise speed of the airframe.</long_desc>
      <min>-90.0</min>
      <max>90.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_P_RMAX_NEG" default="60.0" type="FLOAT">
      <short_desc>Maximum negative / down pitch rate setpoint</short_desc>
      <min>0.0</min>
      <max>180</max>
      <unit>deg/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_P_RMAX_POS" default="60.0" type="FLOAT">
      <short_desc>Maximum positive / up pitch rate setpoint</short_desc>
      <min>0.0</min>
      <max>180</max>
      <unit>deg/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_P_TC" default="0.4" type="FLOAT">
      <short_desc>Attitude pitch time constant</short_desc>
      <long_desc>This defines the latency between a pitch step input and the achieved setpoint (inverse to a P gain). Half a second is a good start value and fits for most average systems. Smaller systems may require smaller values, but as this will wear out servos faster, the value should only be decreased as needed.</long_desc>
      <min>0.2</min>
      <max>1.0</max>
      <unit>s</unit>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="FW_R_RMAX" default="70.0" type="FLOAT">
      <short_desc>Maximum roll rate setpoint</short_desc>
      <min>0.0</min>
      <max>180</max>
      <unit>deg/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_R_TC" default="0.4" type="FLOAT">
      <short_desc>Attitude Roll Time Constant</short_desc>
      <long_desc>This defines the latency between a roll step input and the achieved setpoint (inverse to a P gain). Half a second is a good start value and fits for most average systems. Smaller systems may require smaller values, but as this will wear out servos faster, the value should only be decreased as needed.</long_desc>
      <min>0.2</min>
      <max>1.0</max>
      <unit>s</unit>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="FW_SPOILERS_DESC" default="0." type="FLOAT">
      <short_desc>Spoiler descend setting</short_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_SPOILERS_LND" default="0." type="FLOAT">
      <short_desc>Spoiler landing setting</short_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_WR_FF" default="0.2" type="FLOAT">
      <short_desc>Wheel steering rate feed forward</short_desc>
      <long_desc>Direct feed forward from rate setpoint to control surface output</long_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>%/rad/s</unit>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="FW_WR_I" default="0.1" type="FLOAT">
      <short_desc>Wheel steering rate integrator gain</short_desc>
      <long_desc>This gain defines how much control response will result out of a steady state error. It trims any constant error.</long_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>%/rad</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="FW_WR_IMAX" default="0.4" type="FLOAT">
      <short_desc>Wheel steering rate integrator limit</short_desc>
      <long_desc>The portion of the integrator part in the control surface deflection is limited to this value</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="FW_WR_P" default="0.5" type="FLOAT">
      <short_desc>Wheel steering rate proportional gain</short_desc>
      <long_desc>This defines how much the wheel steering input will be commanded depending on the current body angular rate error.</long_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>%/rad/s</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="FW_W_EN" default="0" type="INT32" boolean="true">
      <short_desc>Enable wheel steering controller</short_desc>
      <long_desc>Only enabled during automatic runway takeoff and landing. In all manual modes the wheel is directly controlled with yaw stick.</long_desc>
    </parameter>
    <parameter name="FW_W_RMAX" default="30.0" type="FLOAT">
      <short_desc>Maximum wheel steering rate</short_desc>
      <long_desc>This limits the maximum wheel steering rate the controller will output (in degrees per second).</long_desc>
      <min>0.0</min>
      <max>90.0</max>
      <unit>deg/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_Y_RMAX" default="50.0" type="FLOAT">
      <short_desc>Maximum yaw rate setpoint</short_desc>
      <min>0.0</min>
      <max>180</max>
      <unit>deg/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
  </group>
  <group name="FW Auto Landing">
    <parameter name="FW_LND_ABORT" default="3" type="INT32">
      <short_desc>Bit mask to set the automatic landing abort conditions</short_desc>
      <long_desc>Terrain estimation: bit 0: Abort if terrain is not found bit 1: Abort if terrain times out (after a first successful measurement) The last estimate is always used as ground, whether the last valid measurement or the land waypoint, depending on the selected abort criteria, until an abort condition is entered. If FW_LND_USETER == 0, these bits are ignored. TODO: Extend automatic abort conditions e.g. glide slope tracking error (horizontal and vertical)</long_desc>
      <min>0</min>
      <max>3</max>
      <bitmask>
        <bit index="0">Abort if terrain is not found (only applies to mission landings)</bit>
        <bit index="1">Abort if terrain times out (after a first successful measurement)</bit>
      </bitmask>
    </parameter>
    <parameter name="FW_LND_AIRSPD" default="-1." type="FLOAT">
      <short_desc>Landing airspeed</short_desc>
      <long_desc>The calibrated airspeed setpoint during landing. If set &lt;= 0.0, landing airspeed = FW_AIRSPD_MIN by default.</long_desc>
      <min>-1.0</min>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="FW_LND_ANG" default="5.0" type="FLOAT">
      <short_desc>Maximum landing slope angle</short_desc>
      <long_desc>Typically the desired landing slope angle when landing configuration (flaps, airspeed) is enabled. Set this value within the vehicle's performance limits.</long_desc>
      <min>1.0</min>
      <max>15.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_LND_EARLYCFG" default="0" type="INT32" boolean="true">
      <short_desc>Early landing configuration deployment</short_desc>
      <long_desc>When disabled, the landing configuration (flaps, landing airspeed, etc.) is only activated on the final approach to landing. When enabled, it is already activated when entering the final loiter-down (loiter-to-alt) waypoint before the landing approach. This shifts the (often large) altitude and airspeed errors caused by the configuration change away from the ground such that these are not so critical. It also gives the controller enough time to adapt to the new configuration such that the landing approach starts with a cleaner initial state.</long_desc>
    </parameter>
    <parameter name="FW_LND_FLALT" default="0.5" type="FLOAT">
      <short_desc>Landing flare altitude (relative to landing altitude)</short_desc>
      <long_desc>NOTE: max(FW_LND_FLALT, FW_LND_FL_TIME * |z-velocity|) is taken as the flare altitude</long_desc>
      <min>0.0</min>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_LND_FL_PMAX" default="15.0" type="FLOAT">
      <short_desc>Flare, maximum pitch</short_desc>
      <long_desc>Maximum pitch during flare, a positive sign means nose up Applied once flaring is triggered</long_desc>
      <min>0</min>
      <max>45.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_LND_FL_PMIN" default="2.5" type="FLOAT">
      <short_desc>Flare, minimum pitch</short_desc>
      <long_desc>Minimum pitch during flare, a positive sign means nose up Applied once flaring is triggered</long_desc>
      <min>-5</min>
      <max>15.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_LND_FL_SINK" default="0.25" type="FLOAT">
      <short_desc>Landing flare sink rate</short_desc>
      <long_desc>TECS will attempt to control the aircraft to this sink rate via pitch angle (throttle killed during flare)</long_desc>
      <min>0.0</min>
      <max>2</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="FW_LND_FL_TIME" default="1.0" type="FLOAT">
      <short_desc>Landing flare time</short_desc>
      <long_desc>Multiplied by the descent rate to calculate a dynamic altitude at which to trigger the flare. NOTE: max(FW_LND_FLALT, FW_LND_FL_TIME * descent rate) is taken as the flare altitude</long_desc>
      <min>0.1</min>
      <max>5.0</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="FW_LND_NUDGE" default="2" type="INT32">
      <short_desc>Landing touchdown nudging option</short_desc>
      <long_desc>Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nuding is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).</long_desc>
      <min>0</min>
      <max>2</max>
      <values>
        <value code="0">Disable nudging</value>
        <value code="1">Nudge approach angle</value>
        <value code="2">Nudge approach path</value>
      </values>
    </parameter>
    <parameter name="FW_LND_TD_OFF" default="3.0" type="FLOAT">
      <short_desc>Maximum lateral position offset for the touchdown point</short_desc>
      <min>0.0</min>
      <max>10.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="FW_LND_TD_TIME" default="-1.0" type="FLOAT">
      <short_desc>Landing touchdown time (since flare start)</short_desc>
      <long_desc>This is the time after the start of flaring that we expect the vehicle to touch the runway. At this time, a 0.5s clamp down ramp will engage, constraining the pitch setpoint to RWTO_PSP. If enabled, ensure that RWTO_PSP is configured appropriately for full gear contact on ground roll. Set to -1.0 to disable touchdown clamping. E.g. it may not be desirable to clamp on belly landings. The touchdown time will be constrained to be greater than or equal to the flare time (FW_LND_FL_TIME).</long_desc>
      <min>-1.0</min>
      <max>5.0</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="FW_LND_THRTC_SC" default="1.0" type="FLOAT">
      <short_desc>Altitude time constant factor for landing</short_desc>
      <long_desc>Set this parameter to less than 1.0 to make TECS react faster to altitude errors during landing than during normal flight. During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.</long_desc>
      <min>0.2</min>
      <max>1.0</max>
      <unit />
      <increment>0.1</increment>
    </parameter>
    <parameter name="FW_LND_USETER" default="1" type="INT32">
      <short_desc>Use terrain estimation during landing. This is critical for detecting when to flare, and should be enabled if possible</short_desc>
      <long_desc>NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.</long_desc>
      <min>0</min>
      <max>2</max>
      <values>
        <value code="0">Disable the terrain estimate</value>
        <value code="1">Use the terrain estimate to trigger the flare (only)</value>
        <value code="2">Calculate landing glide slope relative to the terrain estimate</value>
      </values>
    </parameter>
  </group>
  <group name="FW Geometry">
    <parameter name="FW_WING_HEIGHT" default="0.5" type="FLOAT">
      <short_desc>Height (AGL) of the wings when the aircraft is on the ground</short_desc>
      <long_desc>This is used to constrain a minimum altitude below which we keep wings level to avoid wing tip strike. It's safer to give a slight margin here (&gt; 0m)</long_desc>
      <min>0.0</min>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="FW_WING_SPAN" default="3.0" type="FLOAT">
      <short_desc>The aircraft's wing span (length from tip to tip)</short_desc>
      <long_desc>This is used for limiting the roll setpoint near the ground. (if multiple wings, take the longest span)</long_desc>
      <min>0.1</min>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
  </group>
  <group name="FW Launch detection">
    <parameter name="FW_LAUN_AC_T" default="0.05" type="FLOAT">
      <short_desc>Trigger time</short_desc>
      <long_desc>Launch is detected when acceleration in body forward direction is above FW_LAUN_AC_THLD for FW_LAUN_AC_T seconds.</long_desc>
      <min>0.0</min>
      <max>5.0</max>
      <unit>s</unit>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="FW_LAUN_AC_THLD" default="30.0" type="FLOAT">
      <short_desc>Trigger acceleration threshold</short_desc>
      <long_desc>Launch is detected when acceleration in body forward direction is above FW_LAUN_AC_THLD for FW_LAUN_AC_T seconds.</long_desc>
      <min>0</min>
      <unit>m/s^2</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_LAUN_DETCN_ON" default="0" type="INT32" boolean="true">
      <short_desc>FW Launch detection</short_desc>
      <long_desc>Enables automatic launch detection based on measured acceleration. Use for hand- or catapult-launched vehicles. Only available for fixed-wing vehicles. Not compatible with runway takeoff.</long_desc>
    </parameter>
    <parameter name="FW_LAUN_MOT_DEL" default="0.0" type="FLOAT">
      <short_desc>Motor delay</short_desc>
      <long_desc>Start the motor(s) this amount of seconds after launch is detected.</long_desc>
      <min>0.0</min>
      <max>10.0</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
  </group>
  <group name="FW NPFG Control">
    <parameter name="NPFG_DAMPING" default="0.7" type="FLOAT">
      <short_desc>NPFG damping ratio</short_desc>
      <long_desc>Damping ratio of the NPFG control law.</long_desc>
      <min>0.10</min>
      <max>1.00</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="NPFG_EN_MIN_GSP" default="1" type="INT32" boolean="true">
      <short_desc>Enable minimum forward ground speed maintaining excess wind handling logic</short_desc>
    </parameter>
    <parameter name="NPFG_GSP_MAX_TK" default="5.0" type="FLOAT">
      <short_desc>Maximum, minimum forward ground speed for track keeping in excess wind</short_desc>
      <long_desc>The maximum value of the minimum forward ground speed that may be commanded by the track keeping excess wind handling logic. Commanded in full at the normalized track error fraction of the track error boundary and reduced to zero on track.</long_desc>
      <min>0.0</min>
      <max>10.0</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="NPFG_LB_PERIOD" default="1" type="INT32" boolean="true">
      <short_desc>Enable automatic lower bound on the NPFG period</short_desc>
      <long_desc>Avoids limit cycling from a too aggressively tuned period/damping combination. If set to false, also disables the upper bound NPFG_PERIOD_UB.</long_desc>
    </parameter>
    <parameter name="NPFG_PERIOD" default="10.0" type="FLOAT">
      <short_desc>NPFG period</short_desc>
      <long_desc>Period of the NPFG control law.</long_desc>
      <min>1.0</min>
      <max>100.0</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="NPFG_PERIOD_SF" default="1.5" type="FLOAT">
      <short_desc>Period safety factor</short_desc>
      <long_desc>Multiplied by period for conservative minimum period bounding (when period lower bounding is enabled). 1.0 bounds at marginal stability.</long_desc>
      <min>1.0</min>
      <max>10.0</max>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="NPFG_ROLL_TC" default="0.5" type="FLOAT">
      <short_desc>Roll time constant</short_desc>
      <long_desc>Time constant of roll controller command / response, modeled as first order delay. Used to determine lower period bound. Setting zero disables automatic period bounding.</long_desc>
      <min>0.00</min>
      <max>2.00</max>
      <unit>s</unit>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="NPFG_SW_DST_MLT" default="0.32" type="FLOAT">
      <short_desc>NPFG switch distance multiplier</short_desc>
      <long_desc>Multiplied by the track error boundary to determine when the aircraft switches to the next waypoint and/or path segment. Should be less than 1.</long_desc>
      <min>0.1</min>
      <max>1.0</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="NPFG_TRACK_KEEP" default="1" type="INT32" boolean="true">
      <short_desc>Enable track keeping excess wind handling logic</short_desc>
    </parameter>
    <parameter name="NPFG_UB_PERIOD" default="1" type="INT32" boolean="true">
      <short_desc>Enable automatic upper bound on the NPFG period</short_desc>
      <long_desc>Adapts period to maintain track keeping in variable winds and path curvature.</long_desc>
    </parameter>
    <parameter name="NPFG_WIND_REG" default="1" type="INT32" boolean="true">
      <short_desc>Enable wind excess regulation</short_desc>
      <long_desc>Disabling this parameter further disables all other airspeed incrementation options.</long_desc>
    </parameter>
  </group>
  <group name="FW Path Control">
    <parameter name="FW_PN_R_SLEW_MAX" default="90.0" type="FLOAT">
      <short_desc>Path navigation roll slew rate limit</short_desc>
      <long_desc>The maximum change in roll angle setpoint per second.</long_desc>
      <min>0</min>
      <unit>deg/s</unit>
      <decimal>0</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="FW_POS_STK_CONF" default="2" type="INT32">
      <short_desc>RC stick configuration fixed-wing</short_desc>
      <long_desc>Set RC/joystick configuration for fixed-wing manual position and altitude controlled flight.</long_desc>
      <min>0</min>
      <max>3</max>
      <bitmask>
        <bit index="0">Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)</bit>
        <bit index="1">Enable airspeed setpoint via sticks in altitude and position flight mode</bit>
      </bitmask>
    </parameter>
    <parameter name="FW_R_LIM" default="50.0" type="FLOAT">
      <short_desc>Maximum roll angle</short_desc>
      <long_desc>The maximum roll angle setpoint for setpoint for a height-rate or altitude controlled mode.</long_desc>
      <min>35.0</min>
      <max>65.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_TKO_PITCH_MIN" default="10.0" type="FLOAT">
      <short_desc>Minimum pitch during takeoff</short_desc>
      <min>-5.0</min>
      <max>30.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
  </group>
  <group name="FW Rate Control">
    <parameter name="FW_ACRO_X_MAX" default="90" type="FLOAT">
      <short_desc>Acro body x max rate</short_desc>
      <long_desc>This is the rate the controller is trying to achieve if the user applies full roll stick input in acro mode.</long_desc>
      <min>10</min>
      <max>720</max>
      <unit>deg</unit>
    </parameter>
    <parameter name="FW_ACRO_YAW_EN" default="0" type="INT32" boolean="true">
      <short_desc>Enable yaw rate controller in Acro</short_desc>
      <long_desc>If this parameter is set to 1, the yaw rate controller is enabled in Fixed-wing Acro mode. Otherwise the pilot commands directly the yaw actuator. It is disabled by default because an active yaw rate controller will fight against the natural turn coordination of the plane.</long_desc>
    </parameter>
    <parameter name="FW_ACRO_Y_MAX" default="90" type="FLOAT">
      <short_desc>Acro body pitch max rate setpoint</short_desc>
      <min>10</min>
      <max>720</max>
      <unit>deg</unit>
    </parameter>
    <parameter name="FW_ACRO_Z_MAX" default="45" type="FLOAT">
      <short_desc>Acro body yaw max rate setpoint</short_desc>
      <min>10</min>
      <max>720</max>
      <unit>deg</unit>
    </parameter>
    <parameter name="FW_ARSP_MODE" default="0" type="INT32">
      <short_desc>Airspeed mode</short_desc>
      <long_desc>On vehicles without airspeed sensor this parameter can be used to enable flying without an airspeed reading</long_desc>
      <values>
        <value code="0">Use airspeed in controller</value>
        <value code="1">Do not use airspeed in controller</value>
      </values>
    </parameter>
    <parameter name="FW_ARSP_SCALE_EN" default="1" type="INT32" boolean="true">
      <short_desc>Enable airspeed scaling</short_desc>
      <long_desc>This enables a logic that automatically adjusts the output of the rate controller to take into account the real torque produced by an aerodynamic control surface given the current deviation from the trim airspeed (FW_AIRSPD_TRIM). Enable when using aerodynamic control surfaces (e.g.: plane) Disable when using rotor wings (e.g.: autogyro)</long_desc>
    </parameter>
    <parameter name="FW_BAT_SCALE_EN" default="0" type="INT32" boolean="true">
      <short_desc>Enable throttle scale by battery level</short_desc>
      <long_desc>This compensates for voltage drop of the battery over time by attempting to normalize performance across the operating range of the battery.</long_desc>
    </parameter>
    <parameter name="FW_DTRIM_P_VMAX" default="0.0" type="FLOAT">
      <short_desc>Pitch trim increment at maximum airspeed</short_desc>
      <long_desc>This increment is added to TRIM_PITCH when airspeed is FW_AIRSPD_MAX.</long_desc>
      <min>-0.5</min>
      <max>0.5</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_DTRIM_P_VMIN" default="0.0" type="FLOAT">
      <short_desc>Pitch trim increment at minimum airspeed</short_desc>
      <long_desc>This increment is added to TRIM_PITCH when airspeed is FW_AIRSPD_MIN.</long_desc>
      <min>-0.5</min>
      <max>0.5</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_DTRIM_R_VMAX" default="0.0" type="FLOAT">
      <short_desc>Roll trim increment at maximum airspeed</short_desc>
      <long_desc>This increment is added to TRIM_ROLL when airspeed is FW_AIRSPD_MAX.</long_desc>
      <min>-0.5</min>
      <max>0.5</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_DTRIM_R_VMIN" default="0.0" type="FLOAT">
      <short_desc>Roll trim increment at minimum airspeed</short_desc>
      <long_desc>This increment is added to TRIM_ROLL when airspeed is FW_AIRSPD_MIN.</long_desc>
      <min>-0.5</min>
      <max>0.5</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_DTRIM_Y_VMAX" default="0.0" type="FLOAT">
      <short_desc>Yaw trim increment at maximum airspeed</short_desc>
      <long_desc>This increment is added to TRIM_YAW when airspeed is FW_AIRSPD_MAX.</long_desc>
      <min>-0.5</min>
      <max>0.5</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_DTRIM_Y_VMIN" default="0.0" type="FLOAT">
      <short_desc>Yaw trim increment at minimum airspeed</short_desc>
      <long_desc>This increment is added to TRIM_YAW when airspeed is FW_AIRSPD_MIN.</long_desc>
      <min>-0.5</min>
      <max>0.5</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_FLAPS_LND_SCL" default="1.0" type="FLOAT">
      <short_desc>Flaps setting during landing</short_desc>
      <long_desc>Sets a fraction of full flaps during landing. Also applies to flaperons if enabled in the mixer/allocation.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_FLAPS_TO_SCL" default="0.0" type="FLOAT">
      <short_desc>Flaps setting during take-off</short_desc>
      <long_desc>Sets a fraction of full flaps during take-off. Also applies to flaperons if enabled in the mixer/allocation.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_MAN_P_SC" default="1.0" type="FLOAT">
      <short_desc>Manual pitch scale</short_desc>
      <long_desc>Scale factor applied to the desired pitch actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.</long_desc>
      <min>0.0</min>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_MAN_R_SC" default="1.0" type="FLOAT">
      <short_desc>Manual roll scale</short_desc>
      <long_desc>Scale factor applied to the desired roll actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_MAN_Y_SC" default="1.0" type="FLOAT">
      <short_desc>Manual yaw scale</short_desc>
      <long_desc>Scale factor applied to the desired yaw actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.</long_desc>
      <min>0.0</min>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_PR_D" default="0." type="FLOAT">
      <short_desc>Pitch rate derivative gain</short_desc>
      <long_desc>Pitch rate differential gain.</long_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>%/rad/s</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="FW_PR_FF" default="0.5" type="FLOAT">
      <short_desc>Pitch rate feed forward</short_desc>
      <long_desc>Direct feed forward from rate setpoint to control surface output</long_desc>
      <min>0.0</min>
      <max>10.0</max>
      <unit>%/rad/s</unit>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="FW_PR_I" default="0.1" type="FLOAT">
      <short_desc>Pitch rate integrator gain</short_desc>
      <long_desc>This gain defines how much control response will result out of a steady state error. It trims any constant error.</long_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>%/rad</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="FW_PR_IMAX" default="0.4" type="FLOAT">
      <short_desc>Pitch rate integrator limit</short_desc>
      <long_desc>The portion of the integrator part in the control surface deflection is limited to this value</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="FW_PR_P" default="0.08" type="FLOAT">
      <short_desc>Pitch rate proportional gain</short_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>%/rad/s</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="FW_RLL_TO_YAW_FF" default="0.0" type="FLOAT">
      <short_desc>Roll control to yaw control feedforward gain</short_desc>
      <long_desc>This gain can be used to counteract the "adverse yaw" effect for fixed wings. When the plane enters a roll it will tend to yaw the nose out of the turn. This gain enables the use of a yaw actuator to counteract this effect.</long_desc>
      <min>0.0</min>
      <decimal>1</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_RR_D" default="0.00" type="FLOAT">
      <short_desc>Roll rate derivative Gain</short_desc>
      <long_desc>Roll rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.</long_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>%/rad/s</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="FW_RR_FF" default="0.5" type="FLOAT">
      <short_desc>Roll rate feed forward</short_desc>
      <long_desc>Direct feed forward from rate setpoint to control surface output. Use this to obtain a tigher response of the controller without introducing noise amplification.</long_desc>
      <min>0.0</min>
      <max>10.0</max>
      <unit>%/rad/s</unit>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="FW_RR_I" default="0.1" type="FLOAT">
      <short_desc>Roll rate integrator Gain</short_desc>
      <long_desc>This gain defines how much control response will result out of a steady state error. It trims any constant error.</long_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>%/rad</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_RR_IMAX" default="0.2" type="FLOAT">
      <short_desc>Roll integrator anti-windup</short_desc>
      <long_desc>The portion of the integrator part in the control surface deflection is limited to this value.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="FW_RR_P" default="0.05" type="FLOAT">
      <short_desc>Roll rate proportional Gain</short_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>%/rad/s</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="FW_SPOILERS_MAN" default="0" type="INT32">
      <short_desc>Spoiler input in manual flight</short_desc>
      <long_desc>Chose source for manual setting of spoilers in manual flight modes.</long_desc>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Flaps channel</value>
        <value code="2">Aux1</value>
      </values>
    </parameter>
    <parameter name="FW_YR_D" default="0.0" type="FLOAT">
      <short_desc>Yaw rate derivative gain</short_desc>
      <long_desc>Yaw rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.</long_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>%/rad/s</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="FW_YR_FF" default="0.3" type="FLOAT">
      <short_desc>Yaw rate feed forward</short_desc>
      <long_desc>Direct feed forward from rate setpoint to control surface output</long_desc>
      <min>0.0</min>
      <max>10.0</max>
      <unit>%/rad/s</unit>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="FW_YR_I" default="0.1" type="FLOAT">
      <short_desc>Yaw rate integrator gain</short_desc>
      <long_desc>This gain defines how much control response will result out of a steady state error. It trims any constant error.</long_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>%/rad</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_YR_IMAX" default="0.2" type="FLOAT">
      <short_desc>Yaw rate integrator limit</short_desc>
      <long_desc>The portion of the integrator part in the control surface deflection is limited to this value</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="FW_YR_P" default="0.05" type="FLOAT">
      <short_desc>Yaw rate proportional gain</short_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>%/rad/s</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
  </group>
  <group name="FW TECS">
    <parameter name="FW_AIRSPD_MAX" default="20.0" type="FLOAT">
      <short_desc>Maximum Airspeed (CAS)</short_desc>
      <long_desc>The maximal airspeed (calibrated airspeed) the user is able to command.</long_desc>
      <min>0.5</min>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_AIRSPD_MIN" default="10.0" type="FLOAT">
      <short_desc>Minimum Airspeed (CAS)</short_desc>
      <long_desc>The minimal airspeed (calibrated airspeed) the user is able to command. Further, if the airspeed falls below this value, the TECS controller will try to increase airspeed more aggressively. Has to be set according to the vehicle's stall speed (which should be set in FW_AIRSPD_STALL), with some margin between the stall speed and minimum airspeed. This value corresponds to the desired minimum speed with the default load factor (level flight, default weight), and is automatically adpated to the current load factor (calculated from roll setpoint and WEIGHT_GROSS/WEIGHT_BASE).</long_desc>
      <min>0.5</min>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_AIRSPD_STALL" default="7.0" type="FLOAT">
      <short_desc>Stall Airspeed (CAS)</short_desc>
      <long_desc>The stall airspeed (calibrated airspeed) of the vehicle. It is used for airspeed sensor failure detection and for the control surface scaling airspeed limits.</long_desc>
      <min>0.5</min>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_AIRSPD_TRIM" default="15.0" type="FLOAT">
      <short_desc>Trim (Cruise) Airspeed</short_desc>
      <long_desc>The trim CAS (calibrated airspeed) of the vehicle. If an airspeed controller is active, this is the default airspeed setpoint that the controller will try to achieve.</long_desc>
      <min>0.5</min>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_GND_SPD_MIN" default="5.0" type="FLOAT">
      <short_desc>Minimum groundspeed</short_desc>
      <long_desc>The controller will increase the commanded airspeed to maintain this minimum groundspeed to the next waypoint.</long_desc>
      <min>0.0</min>
      <max>40</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_P_LIM_MAX" default="30.0" type="FLOAT">
      <short_desc>Maximum pitch angle</short_desc>
      <long_desc>The maximum pitch angle setpoint setpoint for a height-rate or altitude controlled mode.</long_desc>
      <min>0.0</min>
      <max>60.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_P_LIM_MIN" default="-30.0" type="FLOAT">
      <short_desc>Minimum pitch angle</short_desc>
      <long_desc>The minimum pitch angle setpoint for a height-rate or altitude controlled mode.</long_desc>
      <min>-60.0</min>
      <max>0.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_THR_ASPD_MAX" default="0." type="FLOAT">
      <short_desc>Throttle at max airspeed</short_desc>
      <long_desc>Required throttle for level flight at maximum airspeed FW_AIRSPD_MAX (sea level, standard atmosphere) Set to 0 to disable mapping of airspeed to trim throttle.</long_desc>
      <min>0</min>
      <max>1</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_THR_ASPD_MIN" default="0." type="FLOAT">
      <short_desc>Throttle at min airspeed</short_desc>
      <long_desc>Required throttle for level flight at minimum airspeed FW_AIRSPD_MIN (sea level, standard atmosphere) Set to 0 to disable mapping of airspeed to trim throttle below FW_AIRSPD_TRIM.</long_desc>
      <min>0</min>
      <max>1</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_THR_IDLE" default="0.0" type="FLOAT">
      <short_desc>Idle throttle</short_desc>
      <long_desc>This is the minimum throttle while on the ground For aircraft with internal combustion engines, this parameter should be set above the desired idle rpm. For electric motors, idle should typically be set to zero. Note that in automatic modes, "landed" conditions will engage idle throttle.</long_desc>
      <min>0.0</min>
      <max>0.4</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_THR_MAX" default="1.0" type="FLOAT">
      <short_desc>Throttle limit max</short_desc>
      <long_desc>This is the maximum throttle % that can be used by the controller. For overpowered aircraft, this should be reduced to a value that provides sufficient thrust to climb at the maximum pitch angle PTCH_MAX.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_THR_MIN" default="0.0" type="FLOAT">
      <short_desc>Throttle limit min</short_desc>
      <long_desc>This is the minimum throttle % that can be used by the controller. For electric aircraft this will normally be set to zero, but can be set to a small non-zero value if a folding prop is fitted to prevent the prop from folding and unfolding repeatedly in-flight or to provide some aerodynamic drag from a turning prop to improve the descent rate. For aircraft with internal combustion engine this parameter should be set for desired idle rpm.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_THR_SLEW_MAX" default="0.0" type="FLOAT">
      <short_desc>Throttle max slew rate</short_desc>
      <long_desc>Maximum slew rate for the commanded throttle</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_THR_TRIM" default="0.6" type="FLOAT">
      <short_desc>Trim throttle</short_desc>
      <long_desc>This is the throttle setting required to achieve FW_AIRSPD_TRIM during level flight.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_TKO_AIRSPD" default="-1.0" type="FLOAT">
      <short_desc>Takeoff Airspeed</short_desc>
      <long_desc>The calibrated airspeed setpoint TECS will stabilize to during the takeoff climbout. If set &lt;= 0.0, FW_AIRSPD_MIN will be set by default.</long_desc>
      <min>-1.0</min>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="FW_T_ALT_TC" default="5.0" type="FLOAT">
      <short_desc>Altitude error time constant</short_desc>
      <min>2.0</min>
      <decimal>2</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_T_CLMB_MAX" default="5.0" type="FLOAT">
      <short_desc>Maximum climb rate</short_desc>
      <long_desc>This is the maximum climb rate that the aircraft can achieve with the throttle set to THR_MAX and the airspeed set to the trim value. For electric aircraft make sure this number can be achieved towards the end of flight when the battery voltage has reduced.</long_desc>
      <min>1.0</min>
      <max>15.0</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_T_CLMB_R_SP" default="3.0" type="FLOAT">
      <short_desc>Default target climbrate</short_desc>
      <long_desc>The default rate at which the vehicle will climb in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be increased.</long_desc>
      <min>0.5</min>
      <max>15</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_T_HRATE_FF" default="0.3" type="FLOAT">
      <short_desc>Height rate feed forward</short_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="FW_T_I_GAIN_PIT" default="0.1" type="FLOAT">
      <short_desc>Integrator gain pitch</short_desc>
      <long_desc>This is the integrator gain on the pitch part of the control loop. Increasing this gain increases the speed at which speed and height offsets are trimmed out, but reduces damping and increases overshoot. Set this value to zero to completely disable all integrator action.</long_desc>
      <min>0.0</min>
      <max>2.0</max>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="FW_T_I_GAIN_THR" default="0.05" type="FLOAT">
      <short_desc>Integrator gain throttle</short_desc>
      <long_desc>This is the integrator gain on the throttle part of the control loop. Increasing this gain increases the speed at which speed and height offsets are trimmed out, but reduces damping and increases overshoot. Set this value to zero to completely disable all integrator action.</long_desc>
      <min>0.0</min>
      <max>2.0</max>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="FW_T_PTCH_DAMP" default="0.1" type="FLOAT">
      <short_desc>Pitch damping factor</short_desc>
      <long_desc>This is the damping gain for the pitch demand loop. Increase to add damping to correct for oscillations in height. The default value of 0.0 will work well provided the pitch to servo controller has been tuned properly.</long_desc>
      <min>0.0</min>
      <max>2.0</max>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="FW_T_RLL2THR" default="15.0" type="FLOAT">
      <short_desc>Roll -&gt; Throttle feedforward</short_desc>
      <long_desc>Increasing this gain turn increases the amount of throttle that will be used to compensate for the additional drag created by turning. Ideally this should be set to  approximately 10 x the extra sink rate in m/s created by a 45 degree bank turn. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns. Efficient high aspect-ratio aircraft (eg powered sailplanes) can use a lower value, whereas inefficient low aspect-ratio models (eg delta wings) can use a higher value.</long_desc>
      <min>0.0</min>
      <max>20.0</max>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_T_SEB_R_FF" default="1.0" type="FLOAT">
      <short_desc>Specific total energy balance rate feedforward gain</short_desc>
      <min>0.5</min>
      <max>3</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_T_SINK_MAX" default="5.0" type="FLOAT">
      <short_desc>Maximum descent rate</short_desc>
      <long_desc>This sets the maximum descent rate that the controller will use. If this value is too large, the aircraft can over-speed on descent. This should be set to a value that can be achieved without exceeding the lower pitch angle limit and without over-speeding the aircraft.</long_desc>
      <min>1.0</min>
      <max>15.0</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_T_SINK_MIN" default="2.0" type="FLOAT">
      <short_desc>Minimum descent rate</short_desc>
      <long_desc>This is the sink rate of the aircraft with the throttle set to THR_MIN and flown at the same airspeed as used to measure FW_T_CLMB_MAX.</long_desc>
      <min>1.0</min>
      <max>5.0</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_T_SINK_R_SP" default="2.0" type="FLOAT">
      <short_desc>Default target sinkrate</short_desc>
      <long_desc>The default rate at which the vehicle will sink in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be decreased.</long_desc>
      <min>0.5</min>
      <max>15</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_T_SPDWEIGHT" default="1.0" type="FLOAT">
      <short_desc>Speed &lt;--&gt; Altitude priority</short_desc>
      <long_desc>This parameter adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. This will normally improve height accuracy but give larger airspeed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. This will normally reduce airspeed errors, but give larger height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.</long_desc>
      <min>0.0</min>
      <max>2.0</max>
      <decimal>1</decimal>
      <increment>1.0</increment>
    </parameter>
    <parameter name="FW_T_SPD_DEV_STD" default="0.2" type="FLOAT">
      <short_desc>Airspeed rate measurement standard deviation for airspeed filter</short_desc>
      <long_desc>This is the measurement standard deviation for the airspeed rate used in the airspeed filter in TECS.</long_desc>
      <min>0.01</min>
      <max>10.0</max>
      <unit>m/s^2</unit>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="FW_T_SPD_PRC_STD" default="0.2" type="FLOAT">
      <short_desc>Process noise standard deviation for the airspeed rate in the airspeed filter</short_desc>
      <long_desc>This is the process noise standard deviation in the airspeed filter filter defining the noise in the airspeed rate for the constant airspeed rate model. This is used to define how much the airspeed and the airspeed rate are filtered. The smaller the value the more the measurements are smoothed with the drawback for delays.</long_desc>
      <min>0.01</min>
      <max>10.0</max>
      <unit>m/s^2</unit>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="FW_T_SPD_STD" default="0.2" type="FLOAT">
      <short_desc>Airspeed measurement standard deviation for airspeed filter</short_desc>
      <long_desc>This is the measurement standard deviation for the airspeed used in the airspeed filter in TECS.</long_desc>
      <min>0.01</min>
      <max>10.0</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="FW_T_STE_R_TC" default="0.4" type="FLOAT">
      <short_desc>Specific total energy rate first order filter time constant</short_desc>
      <long_desc>This filter is applied to the specific total energy rate used for throttle damping.</long_desc>
      <min>0.0</min>
      <max>2</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FW_T_TAS_TC" default="5.0" type="FLOAT">
      <short_desc>True airspeed error time constant</short_desc>
      <min>2.0</min>
      <decimal>2</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_T_THR_DAMP" default="0.1" type="FLOAT">
      <short_desc>Throttle damping factor</short_desc>
      <long_desc>This is the damping gain for the throttle demand loop. Increase to add damping to correct for oscillations in speed and height.</long_desc>
      <min>0.0</min>
      <max>2.0</max>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="FW_T_VERT_ACC" default="7.0" type="FLOAT">
      <short_desc>Maximum vertical acceleration</short_desc>
      <long_desc>This is the maximum vertical acceleration (in m/s/s) either up or down that the controller will use to correct speed or height errors. The default value of 7 m/s/s (equivalent to +- 0.7 g) allows for reasonably aggressive pitch changes if required to recover from under-speed conditions.</long_desc>
      <min>1.0</min>
      <max>10.0</max>
      <unit>m/s^2</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="FW_WIND_ARSP_SC" default="0." type="FLOAT">
      <short_desc>Wind-based airspeed scaling factor</short_desc>
      <long_desc>Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind. Only applies to AUTO flight mode. airspeed_min_adjusted = FW_AIRSPD_MIN + FW_WIND_ARSP_SC * wind.length()</long_desc>
      <min>0</min>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
  </group>
  <group name="Failure Detector">
    <parameter name="FD_ACT_EN" default="1" type="INT32" boolean="true">
      <short_desc>Enable Actuator Failure check</short_desc>
      <long_desc>If enabled, failure detector will verify that for motors, a minimum amount of ESC current per throttle level is being consumed. Otherwise this indicates an motor failure.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="FD_ACT_MOT_C2T" default="2.0" type="FLOAT">
      <short_desc>Motor Failure Current/Throttle Threshold</short_desc>
      <long_desc>Motor failure triggers only below this current value</long_desc>
      <min>0.0</min>
      <max>50.0</max>
      <unit>A/%</unit>
      <decimal>2</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="FD_ACT_MOT_THR" default="0.2" type="FLOAT">
      <short_desc>Motor Failure Throttle Threshold</short_desc>
      <long_desc>Motor failure triggers only above this throttle value.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="FD_ACT_MOT_TOUT" default="100" type="INT32">
      <short_desc>Motor Failure Time Threshold</short_desc>
      <long_desc>Motor failure triggers only if the throttle threshold and the current to throttle threshold are violated for this time.</long_desc>
      <min>10</min>
      <max>10000</max>
      <unit>ms</unit>
      <increment>100</increment>
    </parameter>
    <parameter name="FD_ESCS_EN" default="1" type="INT32" boolean="true">
      <short_desc>Enable checks on ESCs that report their arming state</short_desc>
      <long_desc>If enabled, failure detector will verify that all the ESCs have successfully armed when the vehicle has transitioned to the armed state. Timeout for receiving an acknowledgement from the ESCs is 0.3s, if no feedback is received the failure detector will auto disarm the vehicle.</long_desc>
    </parameter>
    <parameter name="FD_EXT_ATS_EN" default="0" type="INT32" boolean="true">
      <short_desc>Enable PWM input on for engaging failsafe from an external automatic trigger system (ATS)</short_desc>
      <long_desc>Enabled on either AUX5 or MAIN5 depending on board. External ATS is required by ASTM F3322-18.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="FD_EXT_ATS_TRIG" default="1900" type="INT32">
      <short_desc>The PWM threshold from external automatic trigger system for engaging failsafe</short_desc>
      <long_desc>External ATS is required by ASTM F3322-18.</long_desc>
      <unit>us</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="FD_FAIL_P" default="60" type="INT32">
      <short_desc>FailureDetector Max Pitch</short_desc>
      <long_desc>Maximum pitch angle before FailureDetector triggers the attitude_failure flag. The flag triggers flight termination (if @CBRK_FLIGHTTERM = 0), which sets outputs to their failsafe values. On takeoff the flag triggers lockdown (irrespective of @CBRK_FLIGHTTERM), which disarms motors but does not set outputs to failsafe values. Setting this parameter to 0 disables the check</long_desc>
      <min>0</min>
      <max>180</max>
      <unit>deg</unit>
    </parameter>
    <parameter name="FD_FAIL_P_TTRI" default="0.3" type="FLOAT">
      <short_desc>Pitch failure trigger time</short_desc>
      <long_desc>Seconds (decimal) that pitch has to exceed FD_FAIL_P before being considered as a failure.</long_desc>
      <min>0.02</min>
      <max>5</max>
      <unit>s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="FD_FAIL_R" default="60" type="INT32">
      <short_desc>FailureDetector Max Roll</short_desc>
      <long_desc>Maximum roll angle before FailureDetector triggers the attitude_failure flag. The flag triggers flight termination (if @CBRK_FLIGHTTERM = 0), which sets outputs to their failsafe values. On takeoff the flag triggers lockdown (irrespective of @CBRK_FLIGHTTERM), which disarms motors but does not set outputs to failsafe values. Setting this parameter to 0 disables the check</long_desc>
      <min>0</min>
      <max>180</max>
      <unit>deg</unit>
    </parameter>
    <parameter name="FD_FAIL_R_TTRI" default="0.3" type="FLOAT">
      <short_desc>Roll failure trigger time</short_desc>
      <long_desc>Seconds (decimal) that roll has to exceed FD_FAIL_R before being considered as a failure.</long_desc>
      <min>0.02</min>
      <max>5</max>
      <unit>s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="FD_IMB_PROP_THR" default="30" type="INT32">
      <short_desc>Imbalanced propeller check threshold</short_desc>
      <long_desc>Value at which the imbalanced propeller metric (based on horizontal and vertical acceleration variance) triggers a failure Setting this value to 0 disables the feature.</long_desc>
      <min>0</min>
      <max>1000</max>
      <increment>1</increment>
    </parameter>
  </group>
  <group name="FlightTaskOrbit">
    <parameter name="MC_ORBIT_RAD_MAX" default="1000.0" type="FLOAT">
      <short_desc>Maximum radius of orbit</short_desc>
      <min>1.0</min>
      <max>10000.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
  </group>
  <group name="Follow target">
    <parameter name="FLW_TGT_ALT_M" default="0" type="INT32">
      <short_desc>Altitude control mode</short_desc>
      <long_desc>Maintain altitude or track target's altitude. When maintaining the altitude, the drone can crash into terrain when the target moves uphill. When tracking the target's altitude, the follow altitude FLW_TGT_HT should be high enough to prevent terrain collisions due to GPS inaccuracies of the target.</long_desc>
      <values>
        <value code="0">2D Tracking: Maintain constant altitude relative to home and track XY position only</value>
        <value code="1">2D + Terrain: Maintain constant altitude relative to terrain below and track XY position</value>
        <value code="2">3D Tracking: Track target's altitude (be aware that GPS altitude bias usually makes this useless)</value>
      </values>
    </parameter>
    <parameter name="FLW_TGT_DST" default="8.0" type="FLOAT">
      <short_desc>Distance to follow target from</short_desc>
      <long_desc>The distance in meters to follow the target at</long_desc>
      <min>1.0</min>
      <unit>m</unit>
    </parameter>
    <parameter name="FLW_TGT_FA" default="180.0" type="FLOAT">
      <short_desc>Follow Angle setting in degrees</short_desc>
      <long_desc>Angle to follow the target from. 0.0 Equals straight in front of the target's course (direction of motion) and the angle increases in clockwise direction, meaning Right-side would be 90.0 degrees while Left-side is -90.0 degrees Note: When the user force sets the angle out of the min/max range, it will be wrapped (e.g. 480 -&gt; 120) in the range to gracefully handle the out of range.</long_desc>
      <min>-180.0</min>
      <max>180.0</max>
    </parameter>
    <parameter name="FLW_TGT_HT" default="8.0" type="FLOAT">
      <short_desc>Follow target height</short_desc>
      <long_desc>Following height above the target</long_desc>
      <min>8.0</min>
      <unit>m</unit>
    </parameter>
    <parameter name="FLW_TGT_MAX_VEL" default="5.0" type="FLOAT">
      <short_desc>Maximum tangential velocity setting for generating the follow orbit trajectory</short_desc>
      <long_desc>This is the maximum tangential velocity the drone will circle around the target whenever an orbit angle setpoint changes. Higher value means more aggressive follow behavior.</long_desc>
      <min>0.0</min>
      <max>20.0</max>
      <decimal>1</decimal>
    </parameter>
    <parameter name="FLW_TGT_RS" default="0.1" type="FLOAT">
      <short_desc>Responsiveness to target movement in Target Estimator</short_desc>
      <long_desc>lower values increase the responsiveness to changing position, but also ignore less noise</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>2</decimal>
    </parameter>
  </group>
  <group name="GPS">
    <parameter name="GPS_1_GNSS" default="0" type="INT32">
      <short_desc>GNSS Systems for Primary GPS (integer bitmask)</short_desc>
      <long_desc>This integer bitmask controls the set of GNSS systems used by the receiver. Check your receiver's documentation on how many systems are supported to be used in parallel. Currently this functionality is just implemented for u-blox receivers. When no bits are set, the receiver's default configuration should be used. Set bits true to enable: 0 : Use GPS (with QZSS) 1 : Use SBAS (multiple GPS augmentation systems) 2 : Use Galileo 3 : Use BeiDou 4 : Use GLONASS</long_desc>
      <min>0</min>
      <max>31</max>
      <reboot_required>true</reboot_required>
      <bitmask>
        <bit index="0">GPS (with QZSS)</bit>
        <bit index="1">SBAS</bit>
        <bit index="2">Galileo</bit>
        <bit index="3">BeiDou</bit>
        <bit index="4">GLONASS</bit>
      </bitmask>
    </parameter>
    <parameter name="GPS_1_PROTOCOL" default="1" type="INT32">
      <short_desc>Protocol for Main GPS</short_desc>
      <long_desc>Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Auto detect</value>
        <value code="1">u-blox</value>
        <value code="2">MTK</value>
        <value code="3">Ashtech / Trimble</value>
        <value code="4">Emlid Reach</value>
        <value code="5">Femtomes</value>
        <value code="6">NMEA (generic)</value>
        <value code="7">Septentrio (SBF)</value>
      </values>
    </parameter>
    <parameter name="GPS_2_GNSS" default="0" type="INT32">
      <short_desc>GNSS Systems for Secondary GPS (integer bitmask)</short_desc>
      <long_desc>This integer bitmask controls the set of GNSS systems used by the receiver. Check your receiver's documentation on how many systems are supported to be used in parallel. Currently this functionality is just implemented for u-blox receivers. When no bits are set, the receiver's default configuration should be used. Set bits true to enable: 0 : Use GPS (with QZSS) 1 : Use SBAS (multiple GPS augmentation systems) 2 : Use Galileo 3 : Use BeiDou 4 : Use GLONASS</long_desc>
      <min>0</min>
      <max>31</max>
      <reboot_required>true</reboot_required>
      <bitmask>
        <bit index="0">GPS (with QZSS)</bit>
        <bit index="1">SBAS</bit>
        <bit index="2">Galileo</bit>
        <bit index="3">BeiDou</bit>
        <bit index="4">GLONASS</bit>
      </bitmask>
    </parameter>
    <parameter name="GPS_2_PROTOCOL" default="1" type="INT32">
      <short_desc>Protocol for Secondary GPS</short_desc>
      <long_desc>Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.</long_desc>
      <min>0</min>
      <max>6</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Auto detect</value>
        <value code="1">u-blox</value>
        <value code="2">MTK</value>
        <value code="3">Ashtech / Trimble</value>
        <value code="4">Emlid Reach</value>
        <value code="5">Femtomes</value>
        <value code="6">NMEA (generic)</value>
      </values>
    </parameter>
    <parameter name="GPS_DUMP_COMM" default="0" type="INT32">
      <short_desc>Log GPS communication data</short_desc>
      <long_desc>If this is set to 1, all GPS communication data will be published via uORB, and written to the log file as gps_dump message. If this is set to 2, the main GPS is configured to output RTCM data, which is then logged as gps_dump and can be used for PPK.</long_desc>
      <min>0</min>
      <max>2</max>
      <values>
        <value code="0">Disable</value>
        <value code="1">Full communication</value>
        <value code="2">RTCM output (PPK)</value>
      </values>
    </parameter>
    <parameter name="GPS_PITCH_OFFSET" default="0." type="FLOAT">
      <short_desc>Pitch offset for dual antenna GPS</short_desc>
      <long_desc>Vertical offsets can be compensated for by adjusting the Pitch offset (Septentrio). Note that this can be interpreted as the "roll" angle in case the antennas are aligned along the perpendicular axis. This occurs in situations where the two antenna ARPs may not be exactly at the same height in the vehicle reference frame. Since pitch is defined as the right-handed rotation about the vehicle Y axis, a situation where the main antenna is mounted lower than the aux antenna (assuming the default antenna setup) will result in a positive pitch.</long_desc>
      <min>-90</min>
      <max>90</max>
      <unit>deg</unit>
      <decimal>3</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="GPS_SAT_INFO" default="0" type="INT32" boolean="true">
      <short_desc>Enable sat info (if available)</short_desc>
      <long_desc>Enable publication of satellite info (ORB_ID(satellite_info)) if possible. Not available on MTK.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="GPS_UBX_BAUD2" default="230400" type="INT32">
      <short_desc>u-blox F9P UART2 Baudrate</short_desc>
      <long_desc>Select a baudrate for the F9P's UART2 port. In GPS_UBX_MODE 1, 2, and 3, the F9P's UART2 port is configured to send/receive RTCM corrections. Set this to 57600 if you want to attach a telemetry radio on UART2.</long_desc>
      <min>0</min>
      <unit>B/s</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="GPS_UBX_CFG_INTF" default="0" type="INT32">
      <short_desc>u-blox protocol configuration for interfaces</short_desc>
      <min>0</min>
      <max>32</max>
      <reboot_required>true</reboot_required>
      <bitmask>
        <bit index="0">Enable I2C input protocol UBX</bit>
        <bit index="1">Enable I2C input protocol NMEA</bit>
        <bit index="2">Enable I2C input protocol RTCM3X</bit>
        <bit index="3">Enable I2C output protocol UBX</bit>
        <bit index="4">Enable I2C output protocol NMEA</bit>
        <bit index="5">Enable I2C output protocol RTCM3X</bit>
      </bitmask>
    </parameter>
    <parameter name="GPS_UBX_DYNMODEL" default="7" type="INT32">
      <short_desc>u-blox GPS dynamic platform model</short_desc>
      <long_desc>u-blox receivers support different dynamic platform models to adjust the navigation engine to the expected application environment.</long_desc>
      <min>0</min>
      <max>9</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="2">stationary</value>
        <value code="4">automotive</value>
        <value code="6">airborne with &lt;1g acceleration</value>
        <value code="7">airborne with &lt;2g acceleration</value>
        <value code="8">airborne with &lt;4g acceleration</value>
      </values>
    </parameter>
    <parameter name="GPS_UBX_MODE" default="0" type="INT32">
      <short_desc>u-blox GPS Mode</short_desc>
      <long_desc>Select the u-blox configuration setup. Most setups will use the default, including RTK and dual GPS without heading. If rover has RTCM corrections from a static base (or other static correction source) coming in on UART2, then select Mode 5. The Heading mode requires 2 F9P devices to be attached. The main GPS will act as rover and output heading information, whereas the secondary will act as moving base. Modes 1 and 2 require each F9P UART1 to be connected to the Autopilot. In addition, UART2 on the F9P units are connected to each other. Modes 3 and 4 only require UART1 on each F9P connected to the Autopilot or Can Node. UART RX DMA is required. RTK is still possible with this setup.</long_desc>
      <min>0</min>
      <max>1</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Default</value>
        <value code="1">Heading (Rover With Moving Base UART1 Connected To Autopilot, UART2 Connected To Moving Base)</value>
        <value code="2">Moving Base (UART1 Connected To Autopilot, UART2 Connected To Rover)</value>
        <value code="3">Heading (Rover With Moving Base UART1 Connected to Autopilot Or Can Node At 921600)</value>
        <value code="4">Moving Base (Moving Base UART1 Connected to Autopilot Or Can Node At 921600)</value>
        <value code="5">Rover with Static Base on UART2 (similar to Default, except coming in on UART2)</value>
      </values>
    </parameter>
    <parameter name="GPS_YAW_OFFSET" default="0." type="FLOAT">
      <short_desc>Heading/Yaw offset for dual antenna GPS</short_desc>
      <long_desc>Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover (or Unicore primary) antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover (or Unicore primary) antenna is placed on the right side of the vehicle and the moving base antenna is on the left side. (Note: the Unicore primary antenna is the one connected on the right as seen from the top).</long_desc>
      <min>0</min>
      <max>360</max>
      <unit>deg</unit>
      <decimal>3</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="PPS_CAP_ENABLE" default="0" type="INT32" boolean="true">
      <short_desc>PPS Capture Enable</short_desc>
      <long_desc>Enables the PPS capture module. This switches mode of FMU channel 7 to be the PPS input channel.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
  </group>
  <group name="Geofence">
    <parameter name="GF_ACTION" default="2" type="INT32">
      <short_desc>Geofence violation action</short_desc>
      <long_desc>Note: Setting this value to 4 enables flight termination, which will kill the vehicle on violation of the fence.</long_desc>
      <min>0</min>
      <max>5</max>
      <values>
        <value code="0">None</value>
        <value code="1">Warning</value>
        <value code="2">Hold mode</value>
        <value code="3">Return mode</value>
        <value code="4">Terminate</value>
        <value code="5">Land mode</value>
      </values>
    </parameter>
    <parameter name="GF_ALTMODE" default="0" type="INT32">
      <short_desc>Geofence altitude mode</short_desc>
      <long_desc>Select which altitude (AMSL) source should be used for geofence calculations.</long_desc>
      <min>0</min>
      <max>1</max>
      <values>
        <value code="0">Autopilot estimator global position altitude (GPS)</value>
        <value code="1">Raw barometer altitude (assuming standard atmospheric pressure)</value>
      </values>
    </parameter>
    <parameter name="GF_COUNT" default="-1" type="INT32">
      <short_desc>Geofence counter limit</short_desc>
      <long_desc>Set how many subsequent position measurements outside of the fence are needed before geofence violation is triggered</long_desc>
      <min>-1</min>
      <max>10</max>
      <increment>1</increment>
    </parameter>
    <parameter name="GF_MAX_HOR_DIST" default="0" type="FLOAT">
      <short_desc>Max horizontal distance in meters</short_desc>
      <long_desc>Maximum horizontal distance in meters the vehicle can be from home before triggering a geofence action. Disabled if 0.</long_desc>
      <min>0</min>
      <max>10000</max>
      <unit>m</unit>
      <increment>1</increment>
    </parameter>
    <parameter name="GF_MAX_VER_DIST" default="0" type="FLOAT">
      <short_desc>Max vertical distance in meters</short_desc>
      <long_desc>Maximum vertical distance in meters the vehicle can be from home before triggering a geofence action. Disabled if 0.</long_desc>
      <min>0</min>
      <max>10000</max>
      <unit>m</unit>
      <increment>1</increment>
    </parameter>
    <parameter name="GF_PREDICT" default="1" type="INT32" boolean="true">
      <short_desc>Use Pre-emptive geofence triggering</short_desc>
      <long_desc>Predict the motion of the vehicle and trigger the breach if it is determined that the current trajectory would result in a breach happening before the vehicle can make evasive maneuvers. The vehicle is then re-routed to a safe hold position (stop for multirotor, loiter for fixed wing).</long_desc>
    </parameter>
    <parameter name="GF_SOURCE" default="0" type="INT32">
      <short_desc>Geofence source</short_desc>
      <long_desc>Select which position source should be used. Selecting GPS instead of global position makes sure that there is no dependence on the position estimator 0 = global position, 1 = GPS</long_desc>
      <min>0</min>
      <max>1</max>
      <values>
        <value code="0">GPOS</value>
        <value code="1">GPS</value>
      </values>
    </parameter>
  </group>
  <group name="Hover Thrust Estimator">
    <parameter name="HTE_ACC_GATE" default="3.0" type="FLOAT">
      <short_desc>Gate size for acceleration fusion</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>1.0</min>
      <max>10.0</max>
      <unit>SD</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="HTE_HT_ERR_INIT" default="0.1" type="FLOAT">
      <short_desc>1-sigma initial hover thrust uncertainty</short_desc>
      <long_desc>Sets the number of standard deviations used by the innovation consistency test.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>normalized_thrust</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="HTE_HT_NOISE" default="0.0036" type="FLOAT">
      <short_desc>Hover thrust process noise</short_desc>
      <long_desc>Reduce to make the hover thrust estimate more stable, increase if the real hover thrust is expected to change quickly over time.</long_desc>
      <min>0.0001</min>
      <max>1.0</max>
      <unit>normalized_thrust/s</unit>
      <decimal>4</decimal>
    </parameter>
    <parameter name="HTE_THR_RANGE" default="0.2" type="FLOAT">
      <short_desc>Max deviation from MPC_THR_HOVER</short_desc>
      <long_desc>Defines the range of the hover thrust estimate around MPC_THR_HOVER. A value of 0.2 with MPC_THR_HOVER at 0.5 results in a range of [0.3, 0.7]. Set to a large value if the vehicle operates in varying physical conditions that affect the required hover thrust strongly (e.g. differently sized payloads).</long_desc>
      <min>0.01</min>
      <max>0.4</max>
      <unit>normalized_thrust</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="HTE_VXY_THR" default="10.0" type="FLOAT">
      <short_desc>Horizontal velocity threshold for sensitivity reduction</short_desc>
      <long_desc>Above this speed, the measurement noise is linearly increased to reduce the sensitivity of the estimator from biased measurement. Set to a low value on vehicles with large lifting surfaces.</long_desc>
      <min>1.0</min>
      <max>20.0</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="HTE_VZ_THR" default="2.0" type="FLOAT">
      <short_desc>Vertical velocity threshold for sensitivity reduction</short_desc>
      <long_desc>Above this speed, the measurement noise is linearly increased to reduce the sensitivity of the estimator from biased measurement. Set to a low value on vehicles affected by air drag when climbing or descending.</long_desc>
      <min>1.0</min>
      <max>10.0</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
  </group>
  <group name="Iridium SBD">
    <parameter name="ISBD_READ_INT" default="0" type="INT32">
      <short_desc>Satellite radio read interval. Only required to be nonzero if data is not sent using a ring call</short_desc>
      <min>0</min>
      <max>5000</max>
      <unit>s</unit>
    </parameter>
    <parameter name="ISBD_SBD_TIMEOUT" default="60" type="INT32">
      <short_desc>Iridium SBD session timeout</short_desc>
      <min>0</min>
      <max>300</max>
      <unit>s</unit>
    </parameter>
    <parameter name="ISBD_STACK_TIME" default="0" type="INT32">
      <short_desc>Time the Iridium driver will wait for additional mavlink messages to combine them into one SBD message</short_desc>
      <long_desc>Value 0 turns the functionality off</long_desc>
      <min>0</min>
      <max>500</max>
      <unit>ms</unit>
    </parameter>
  </group>
  <group name="Land Detector">
    <parameter name="LNDFW_AIRSPD_MAX" default="6.00" type="FLOAT">
      <short_desc>Fixed-wing land detector: Max airspeed</short_desc>
      <long_desc>Maximum airspeed allowed in the landed state</long_desc>
      <min>2</min>
      <max>20</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="LNDFW_TRIG_TIME" default="2." type="FLOAT">
      <short_desc>Fixed-wing land detection trigger time</short_desc>
      <long_desc>Time the land conditions (speeds and acceleration) have to be satisfied to detect a landing.</long_desc>
      <min>0.1</min>
      <unit>s</unit>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="LNDFW_VEL_XY_MAX" default="5.0" type="FLOAT">
      <short_desc>Fixed-wing land detector: Max horizontal velocity threshold</short_desc>
      <long_desc>Maximum horizontal velocity allowed in the landed state. A factor of 0.7 is applied in case of airspeed-less flying (either because no sensor is present or sensor data got invalid in flight).</long_desc>
      <min>0.5</min>
      <max>10</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="LNDFW_VEL_Z_MAX" default="1.0" type="FLOAT">
      <short_desc>Fixed-wing land detector: Max vertiacal velocity threshold</short_desc>
      <long_desc>Maximum vertical velocity allowed in the landed state.</long_desc>
      <min>0.1</min>
      <max>20</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="LNDFW_XYACC_MAX" default="8.0" type="FLOAT">
      <short_desc>Fixed-wing land detector: Max horizontal acceleration</short_desc>
      <long_desc>Maximum horizontal (x,y body axes) acceleration allowed in the landed state</long_desc>
      <min>2</min>
      <max>15</max>
      <unit>m/s^2</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="LNDMC_ALT_GND" default="2." type="FLOAT">
      <short_desc>Ground effect altitude for multicopters</short_desc>
      <long_desc>The height above ground below which ground effect creates barometric altitude errors. A negative value indicates no ground effect.</long_desc>
      <min>-1</min>
      <unit>m</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="LNDMC_ALT_MAX" default="-1.0" type="FLOAT">
      <short_desc>Maximum altitude for multicopters</short_desc>
      <long_desc>The system will obey this limit as a hard altitude limit. This setting will be consolidated with the GF_MAX_VER_DIST parameter. A negative value indicates no altitude limitation.</long_desc>
      <min>-1</min>
      <max>10000</max>
      <unit>m</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="LNDMC_ROT_MAX" default="20.0" type="FLOAT">
      <short_desc>Multicopter max rotation</short_desc>
      <long_desc>Maximum allowed angular velocity around each axis allowed in the landed state.</long_desc>
      <unit>deg/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="LNDMC_TRIG_TIME" default="1.0" type="FLOAT">
      <short_desc>Multicopter land detection trigger time</short_desc>
      <long_desc>Total time it takes to go through all three land detection stages: ground contact, maybe landed, landed when all necessary conditions are constantly met.</long_desc>
      <min>0.1</min>
      <max>10.0</max>
      <unit>s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="LNDMC_XY_VEL_MAX" default="1.5" type="FLOAT">
      <short_desc>Multicopter max horizontal velocity</short_desc>
      <long_desc>Maximum horizontal velocity allowed in the landed state</long_desc>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="LNDMC_Z_VEL_MAX" default="0.25" type="FLOAT">
      <short_desc>Multicopter vertical velocity threshold</short_desc>
      <long_desc>Vertical velocity threshold to detect landing. Has to be set lower than the expected minimal speed for landing, which is either MPC_LAND_SPEED or MPC_LAND_CRWL. This is enforced by an automatic check.</long_desc>
      <min>0</min>
      <unit>m/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="LND_FLIGHT_T_HI" default="0" type="INT32" volatile="true" category="System">
      <short_desc>Total flight time in microseconds</short_desc>
      <long_desc>Total flight time of this autopilot. Higher 32 bits of the value. Flight time in microseconds = (LND_FLIGHT_T_HI &lt;&lt; 32) | LND_FLIGHT_T_LO.</long_desc>
      <min>0</min>
    </parameter>
    <parameter name="LND_FLIGHT_T_LO" default="0" type="INT32" volatile="true" category="System">
      <short_desc>Total flight time in microseconds</short_desc>
      <long_desc>Total flight time of this autopilot. Lower 32 bits of the value. Flight time in microseconds = (LND_FLIGHT_T_HI &lt;&lt; 32) | LND_FLIGHT_T_LO.</long_desc>
      <min>0</min>
    </parameter>
  </group>
  <group name="Landing Target Estimator">
    <parameter name="LTEST_SENS_POS_X" default="0.0" type="FLOAT">
      <short_desc>X Position of IRLOCK in body frame (forward)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="LTEST_SENS_POS_Y" default="0.0" type="FLOAT">
      <short_desc>Y Position of IRLOCK in body frame (right)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="LTEST_SENS_POS_Z" default="0.0" type="FLOAT">
      <short_desc>Z Position of IRLOCK in body frame (downward)</short_desc>
      <unit>m</unit>
      <decimal>3</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="LTEST_SENS_ROT" default="2" type="INT32">
      <short_desc>Rotation of IRLOCK sensor relative to airframe</short_desc>
      <long_desc>Default orientation of Yaw 90°</long_desc>
      <min>-1</min>
      <max>40</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
  </group>
  <group name="Landing target Estimator">
    <parameter name="LTEST_ACC_UNC" default="10.0" type="FLOAT">
      <short_desc>Acceleration uncertainty</short_desc>
      <long_desc>Variance of acceleration measurement used for landing target position prediction. Higher values results in tighter following of the measurements and more lenient outlier rejection</long_desc>
      <min>0.01</min>
      <unit>(m/s^2)^2</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="LTEST_MEAS_UNC" default="0.005" type="FLOAT">
      <short_desc>Landing target measurement uncertainty</short_desc>
      <long_desc>Variance of the landing target measurement from the driver. Higher values result in less aggressive following of the measurement and a smoother output as well as fewer rejected measurements.</long_desc>
      <unit>tan(rad)^2</unit>
      <decimal>4</decimal>
    </parameter>
    <parameter name="LTEST_MODE" default="0" type="INT32">
      <short_desc>Landing target mode</short_desc>
      <long_desc>Configure the mode of the landing target. Depending on the mode, the landing target observations are used differently to aid position estimation. Mode Moving:     The landing target may be moving around while in the field of view of the vehicle. Landing target measurements are not used to aid positioning. Mode Stationary: The landing target is stationary. Measured velocity w.r.t. the landing target is used to aid velocity estimation.</long_desc>
      <min>0</min>
      <max>1</max>
      <values>
        <value code="0">Moving</value>
        <value code="1">Stationary</value>
      </values>
    </parameter>
    <parameter name="LTEST_POS_UNC_IN" default="0.1" type="FLOAT">
      <short_desc>Initial landing target position uncertainty</short_desc>
      <long_desc>Initial variance of the relative landing target position in x and y direction</long_desc>
      <min>0.001</min>
      <unit>m^2</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LTEST_SCALE_X" default="1.0" type="FLOAT">
      <short_desc>Scale factor for sensor measurements in sensor x axis</short_desc>
      <long_desc>Landing target x measurements are scaled by this factor before being used</long_desc>
      <min>0.01</min>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LTEST_SCALE_Y" default="1.0" type="FLOAT">
      <short_desc>Scale factor for sensor measurements in sensor y axis</short_desc>
      <long_desc>Landing target y measurements are scaled by this factor before being used</long_desc>
      <min>0.01</min>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LTEST_VEL_UNC_IN" default="0.1" type="FLOAT">
      <short_desc>Initial landing target velocity uncertainty</short_desc>
      <long_desc>Initial variance of the relative landing target velocity in x and y directions</long_desc>
      <min>0.001</min>
      <unit>(m/s)^2</unit>
      <decimal>3</decimal>
    </parameter>
  </group>
  <group name="Local Position Estimator">
    <parameter name="LPE_ACC_XY" default="0.012" type="FLOAT">
      <short_desc>Accelerometer xy noise density</short_desc>
      <long_desc>Data sheet noise density = 150ug/sqrt(Hz) = 0.0015 m/s^2/sqrt(Hz) Larger than data sheet to account for tilt error.</long_desc>
      <min>0.00001</min>
      <max>2</max>
      <unit>m/s^2/sqrt(Hz)</unit>
      <decimal>4</decimal>
    </parameter>
    <parameter name="LPE_ACC_Z" default="0.02" type="FLOAT">
      <short_desc>Accelerometer z noise density</short_desc>
      <long_desc>Data sheet noise density = 150ug/sqrt(Hz) = 0.0015 m/s^2/sqrt(Hz)</long_desc>
      <min>0.00001</min>
      <max>2</max>
      <unit>m/s^2/sqrt(Hz)</unit>
      <decimal>4</decimal>
    </parameter>
    <parameter name="LPE_BAR_Z" default="3.0" type="FLOAT">
      <short_desc>Barometric presssure altitude z standard deviation</short_desc>
      <min>0.01</min>
      <max>100</max>
      <unit>m</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="LPE_EPH_MAX" default="3.0" type="FLOAT">
      <short_desc>Max EPH allowed for GPS initialization</short_desc>
      <min>1.0</min>
      <max>5.0</max>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_EPV_MAX" default="5.0" type="FLOAT">
      <short_desc>Max EPV allowed for GPS initialization</short_desc>
      <min>1.0</min>
      <max>5.0</max>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_FAKE_ORIGIN" default="0" type="INT32">
      <short_desc>Enable publishing of a fake global position (e.g for AUTO missions using Optical Flow)</short_desc>
      <long_desc>By initializing the estimator to the LPE_LAT/LON parameters when global information is unavailable</long_desc>
      <min>0</min>
      <max>1</max>
    </parameter>
    <parameter name="LPE_FGYRO_HP" default="0.001" type="FLOAT">
      <short_desc>Flow gyro high pass filter cut off frequency</short_desc>
      <min>0</min>
      <max>2</max>
      <unit>Hz</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_FLW_OFF_Z" default="0.0" type="FLOAT">
      <short_desc>Optical flow z offset from center</short_desc>
      <min>-1</min>
      <max>1</max>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_FLW_QMIN" default="150" type="INT32">
      <short_desc>Optical flow minimum quality threshold</short_desc>
      <min>0</min>
      <max>255</max>
    </parameter>
    <parameter name="LPE_FLW_R" default="7.0" type="FLOAT">
      <short_desc>Optical flow rotation (roll/pitch) noise gain</short_desc>
      <min>0.1</min>
      <max>10.0</max>
      <unit>m/s/rad</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_FLW_RR" default="7.0" type="FLOAT">
      <short_desc>Optical flow angular velocity noise gain</short_desc>
      <min>0.0</min>
      <max>10.0</max>
      <unit>m/rad</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_FLW_SCALE" default="1.3" type="FLOAT">
      <short_desc>Optical flow scale</short_desc>
      <min>0.1</min>
      <max>10.0</max>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_FUSION" default="145" type="INT32">
      <short_desc>Integer bitmask controlling data fusion</short_desc>
      <long_desc>Set bits in the following positions to enable: 0 : Set to true to fuse GPS data if available, also requires GPS for altitude init 1 : Set to true to fuse optical flow data if available 2 : Set to true to fuse vision position 3 : Set to true to enable landing target 4 : Set to true to fuse land detector 5 : Set to true to publish AGL as local position down component 6 : Set to true to enable flow gyro compensation 7 : Set to true to enable baro fusion default (145 - GPS, baro, land detector)</long_desc>
      <min>0</min>
      <max>255</max>
      <bitmask>
        <bit index="0">fuse GPS, requires GPS for alt. init</bit>
        <bit index="1">fuse optical flow</bit>
        <bit index="2">fuse vision position</bit>
        <bit index="3">fuse landing target</bit>
        <bit index="4">fuse land detector</bit>
        <bit index="5">pub agl as lpos down</bit>
        <bit index="6">flow gyro compensation</bit>
        <bit index="7">fuse baro</bit>
      </bitmask>
    </parameter>
    <parameter name="LPE_GPS_DELAY" default="0.29" type="FLOAT">
      <short_desc>GPS delay compensaton</short_desc>
      <min>0</min>
      <max>0.4</max>
      <unit>s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="LPE_GPS_VXY" default="0.25" type="FLOAT">
      <short_desc>GPS xy velocity standard deviation</short_desc>
      <long_desc>EPV used if greater than this value.</long_desc>
      <min>0.01</min>
      <max>2</max>
      <unit>m/s</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_GPS_VZ" default="0.25" type="FLOAT">
      <short_desc>GPS z velocity standard deviation</short_desc>
      <min>0.01</min>
      <max>2</max>
      <unit>m/s</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_GPS_XY" default="1.0" type="FLOAT">
      <short_desc>Minimum GPS xy standard deviation, uses reported EPH if greater</short_desc>
      <min>0.01</min>
      <max>5</max>
      <unit>m</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="LPE_GPS_Z" default="3.0" type="FLOAT">
      <short_desc>Minimum GPS z standard deviation, uses reported EPV if greater</short_desc>
      <min>0.01</min>
      <max>200</max>
      <unit>m</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="LPE_LAND_VXY" default="0.05" type="FLOAT">
      <short_desc>Land detector xy velocity standard deviation</short_desc>
      <min>0.01</min>
      <max>10.0</max>
      <unit>m/s</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_LAND_Z" default="0.03" type="FLOAT">
      <short_desc>Land detector z standard deviation</short_desc>
      <min>0.001</min>
      <max>10.0</max>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_LAT" default="47.397742" type="FLOAT">
      <short_desc>Local origin latitude for nav w/o GPS</short_desc>
      <min>-90</min>
      <max>90</max>
      <unit>deg</unit>
      <decimal>8</decimal>
    </parameter>
    <parameter name="LPE_LDR_OFF_Z" default="0.00" type="FLOAT">
      <short_desc>Lidar z offset from center of vehicle +down</short_desc>
      <min>-1</min>
      <max>1</max>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_LDR_Z" default="0.03" type="FLOAT">
      <short_desc>Lidar z standard deviation</short_desc>
      <min>0.01</min>
      <max>1</max>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_LON" default="8.545594" type="FLOAT">
      <short_desc>Local origin longitude for nav w/o GPS</short_desc>
      <min>-180</min>
      <max>180</max>
      <unit>deg</unit>
      <decimal>8</decimal>
    </parameter>
    <parameter name="LPE_LT_COV" default="0.0001" type="FLOAT">
      <short_desc>Minimum landing target standard covariance, uses reported covariance if greater</short_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>m^2</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="LPE_PN_B" default="1e-3" type="FLOAT">
      <short_desc>Accel bias propagation noise density</short_desc>
      <min>0</min>
      <max>1</max>
      <unit>m/s^3/sqrt(Hz)</unit>
      <decimal>8</decimal>
    </parameter>
    <parameter name="LPE_PN_P" default="0.1" type="FLOAT">
      <short_desc>Position propagation noise density</short_desc>
      <long_desc>Increase to trust measurements more. Decrease to trust model more.</long_desc>
      <min>0</min>
      <max>1</max>
      <unit>m/s/sqrt(Hz)</unit>
      <decimal>8</decimal>
    </parameter>
    <parameter name="LPE_PN_T" default="0.001" type="FLOAT">
      <short_desc>Terrain random walk noise density, hilly/outdoor (0.1), flat/Indoor (0.001)</short_desc>
      <min>0</min>
      <max>1</max>
      <unit>m/s/sqrt(Hz)</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_PN_V" default="0.1" type="FLOAT">
      <short_desc>Velocity propagation noise density</short_desc>
      <long_desc>Increase to trust measurements more. Decrease to trust model more.</long_desc>
      <min>0</min>
      <max>1</max>
      <unit>m/s^2/sqrt(Hz)</unit>
      <decimal>8</decimal>
    </parameter>
    <parameter name="LPE_SNR_OFF_Z" default="0.00" type="FLOAT">
      <short_desc>Sonar z offset from center of vehicle +down</short_desc>
      <min>-1</min>
      <max>1</max>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_SNR_Z" default="0.05" type="FLOAT">
      <short_desc>Sonar z standard deviation</short_desc>
      <min>0.01</min>
      <max>1</max>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_T_MAX_GRADE" default="1.0" type="FLOAT">
      <short_desc>Terrain maximum percent grade, hilly/outdoor (100 = 45 deg), flat/Indoor (0 = 0 deg)</short_desc>
      <long_desc>Used to calculate increased terrain random walk nosie due to movement.</long_desc>
      <min>0</min>
      <max>100</max>
      <unit>%</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_VIC_P" default="0.001" type="FLOAT">
      <short_desc>Vicon position standard deviation</short_desc>
      <min>0.0001</min>
      <max>1</max>
      <unit>m</unit>
      <decimal>4</decimal>
    </parameter>
    <parameter name="LPE_VIS_DELAY" default="0.1" type="FLOAT">
      <short_desc>Vision delay compensation</short_desc>
      <long_desc>Set to zero to enable automatic compensation from measurement timestamps</long_desc>
      <min>0</min>
      <max>0.1</max>
      <unit>s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="LPE_VIS_XY" default="0.1" type="FLOAT">
      <short_desc>Vision xy standard deviation</short_desc>
      <min>0.01</min>
      <max>1</max>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_VIS_Z" default="0.5" type="FLOAT">
      <short_desc>Vision z standard deviation</short_desc>
      <min>0.01</min>
      <max>100</max>
      <unit>m</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_VXY_PUB" default="0.3" type="FLOAT">
      <short_desc>Required velocity xy standard deviation to publish position</short_desc>
      <min>0.01</min>
      <max>1.0</max>
      <unit>m/s</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="LPE_X_LP" default="5.0" type="FLOAT">
      <short_desc>Cut frequency for state publication</short_desc>
      <min>5</min>
      <max>1000</max>
      <unit>Hz</unit>
      <decimal>0</decimal>
    </parameter>
    <parameter name="LPE_Z_PUB" default="1.0" type="FLOAT">
      <short_desc>Required z standard deviation to publish altitude/ terrain</short_desc>
      <min>0.3</min>
      <max>5.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
    </parameter>
  </group>
  <group name="MAVLink">
    <parameter name="MAV_COMP_ID" default="1" type="INT32">
      <short_desc>MAVLink component ID</short_desc>
      <min>1</min>
      <max>250</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="MAV_FWDEXTSP" default="1" type="INT32" boolean="true">
      <short_desc>Forward external setpoint messages</short_desc>
      <long_desc>If set to 1 incoming external setpoint messages will be directly forwarded to the controllers if in offboard control mode</long_desc>
    </parameter>
    <parameter name="MAV_HASH_CHK_EN" default="1" type="INT32" boolean="true">
      <short_desc>Parameter hash check</short_desc>
      <long_desc>Disabling the parameter hash check functionality will make the mavlink instance stream parameters continuously.</long_desc>
    </parameter>
    <parameter name="MAV_HB_FORW_EN" default="1" type="INT32" boolean="true">
      <short_desc>Heartbeat message forwarding</short_desc>
      <long_desc>The mavlink heartbeat message will not be forwarded if this parameter is set to 'disabled'. The main reason for disabling heartbeats to be forwarded is because they confuse dronekit.</long_desc>
    </parameter>
    <parameter name="MAV_PROTO_VER" default="0" type="INT32">
      <short_desc>MAVLink protocol version</short_desc>
      <values>
        <value code="0">Default to 1, switch to 2 if GCS sends version 2</value>
        <value code="1">Always use version 1</value>
        <value code="2">Always use version 2</value>
      </values>
    </parameter>
    <parameter name="MAV_RADIO_TOUT" default="5" type="INT32">
      <short_desc>Timeout in seconds for the RADIO_STATUS reports coming in</short_desc>
      <long_desc>If the connected radio stops reporting RADIO_STATUS for a certain time, a warning is triggered and, if MAV_X_RADIO_CTL is enabled, the software-flow control is reset.</long_desc>
      <min>1</min>
      <max>250</max>
      <unit>s</unit>
    </parameter>
    <parameter name="MAV_SIK_RADIO_ID" default="0" type="INT32">
      <short_desc>MAVLink SiK Radio ID</short_desc>
      <long_desc>When non-zero the MAVLink app will attempt to configure the SiK radio to this ID and re-set the parameter to 0. If the value is negative it will reset the complete radio config to factory defaults. Only applies if this mavlink instance is going through a SiK radio</long_desc>
      <min>-1</min>
      <max>240</max>
    </parameter>
    <parameter name="MAV_SYS_ID" default="1" type="INT32">
      <short_desc>MAVLink system ID</short_desc>
      <min>1</min>
      <max>250</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="MAV_TYPE" default="0" type="INT32">
      <short_desc>MAVLink airframe type</short_desc>
      <min>0</min>
      <max>22</max>
      <values>
        <value code="0">Generic micro air vehicle</value>
        <value code="1">Fixed wing aircraft</value>
        <value code="2">Quadrotor</value>
        <value code="3">Coaxial helicopter</value>
        <value code="4">Normal helicopter with tail rotor</value>
        <value code="7">Airship, controlled</value>
        <value code="8">Free balloon, uncontrolled</value>
        <value code="10">Ground rover</value>
        <value code="11">Surface vessel, boat, ship</value>
        <value code="12">Submarine</value>
        <value code="13">Hexarotor</value>
        <value code="14">Octorotor</value>
        <value code="15">Tricopter</value>
        <value code="19">VTOL Two-rotor Tailsitter</value>
        <value code="20">VTOL Quad-rotor Tailsitter</value>
        <value code="21">VTOL Tiltrotor</value>
        <value code="22">VTOL Standard (separate fixed rotors for hover and cruise flight)</value>
        <value code="23">VTOL Tailsitter</value>
      </values>
    </parameter>
    <parameter name="MAV_USEHILGPS" default="0" type="INT32" boolean="true">
      <short_desc>Use/Accept HIL GPS message even if not in HIL mode</short_desc>
      <long_desc>If set to 1 incoming HIL GPS messages are parsed.</long_desc>
    </parameter>
  </group>
  <group name="MODAL IO">
    <parameter name="MODAL_IO_BAUD" default="250000" type="INT32">
      <short_desc>UART ESC baud rate</short_desc>
      <long_desc>Default rate is 250Kbps, which is used in off-the-shelf MoadalAI ESC products.</long_desc>
      <unit>bit/s</unit>
    </parameter>
    <parameter name="MODAL_IO_CONFIG" default="0" type="INT32">
      <short_desc>UART ESC configuration</short_desc>
      <long_desc>Selects what type of UART ESC, if any, is being used.</long_desc>
      <min>0</min>
      <max>1</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">- Disabled</value>
        <value code="1">- VOXL ESC</value>
      </values>
    </parameter>
    <parameter name="MODAL_IO_MODE" default="0" type="INT32">
      <short_desc>UART ESC Mode</short_desc>
      <long_desc>Selects what type of mode is enabled, if any</long_desc>
      <min>0</min>
      <max>2</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">- None</value>
        <value code="1">- Turtle Mode enabled via AUX1</value>
        <value code="2">- Turtle Mode enabled via AUX2</value>
        <value code="3">- UART Passthrough Mode</value>
      </values>
    </parameter>
    <parameter name="MODAL_IO_RPM_MAX" default="15000" type="INT32">
      <short_desc>UART ESC RPM Max</short_desc>
      <long_desc>Maximum RPM for ESC</long_desc>
      <unit>rpm</unit>
    </parameter>
    <parameter name="MODAL_IO_RPM_MIN" default="5500" type="INT32">
      <short_desc>UART ESC RPM Min</short_desc>
      <long_desc>Minimum RPM for ESC</long_desc>
      <unit>rpm</unit>
    </parameter>
    <parameter name="MODAL_IO_SDIR1" default="0" type="INT32">
      <short_desc>UART ESC ID 1 Spin Direction Flag</short_desc>
      <values>
        <value code="0">- Default</value>
        <value code="1">- Reverse</value>
      </values>
    </parameter>
    <parameter name="MODAL_IO_SDIR2" default="0" type="INT32">
      <short_desc>UART ESC ID 2 Spin Direction Flag</short_desc>
      <values>
        <value code="0">- Default</value>
        <value code="1">- Reverse</value>
      </values>
    </parameter>
    <parameter name="MODAL_IO_SDIR3" default="0" type="INT32">
      <short_desc>UART ESC ID 3 Spin Direction Flag</short_desc>
      <values>
        <value code="0">- Default</value>
        <value code="1">- Reverse</value>
      </values>
    </parameter>
    <parameter name="MODAL_IO_SDIR4" default="0" type="INT32">
      <short_desc>UART ESC ID 4 Spin Direction Flag</short_desc>
      <values>
        <value code="0">- Default</value>
        <value code="1">- Reverse</value>
      </values>
    </parameter>
    <parameter name="MODAL_IO_T_COSP" default="0.990" type="FLOAT">
      <short_desc>UART ESC Turtle Mode Cosphi</short_desc>
      <min>0.000</min>
      <max>1.000</max>
      <decimal>10</decimal>
      <increment>0.001</increment>
    </parameter>
    <parameter name="MODAL_IO_T_DEAD" default="20" type="INT32">
      <short_desc>UART ESC Turtle Mode Crash Flip Motor Deadband</short_desc>
      <min>0</min>
      <max>100</max>
      <decimal>10</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MODAL_IO_T_EXPO" default="35" type="INT32">
      <short_desc>UART ESC Turtle Mode Crash Flip Motor expo</short_desc>
      <min>0</min>
      <max>100</max>
      <decimal>10</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MODAL_IO_T_MINF" default="0.15" type="FLOAT">
      <short_desc>UART ESC Turtle Mode Crash Flip Motor STICK_MINF</short_desc>
      <min>0.0</min>
      <max>100.0</max>
      <decimal>10</decimal>
      <increment>1.0</increment>
    </parameter>
    <parameter name="MODAL_IO_T_PERC" default="90" type="INT32">
      <short_desc>UART ESC Turtle Mode Crash Flip Motor Percent</short_desc>
      <min>1</min>
      <max>100</max>
      <decimal>10</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MODAL_IO_VLOG" default="0" type="INT32">
      <short_desc>UART ESC verbose logging</short_desc>
      <min>0</min>
      <max>1</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">- Disabled</value>
        <value code="1">- Enabled</value>
      </values>
    </parameter>
  </group>
  <group name="Magnetometer Bias Estimator">
    <parameter name="MBE_ENABLE" default="1" type="INT32" boolean="true">
      <short_desc>Enable online mag bias calibration</short_desc>
      <long_desc>This enables continuous calibration of the magnetometers before takeoff using gyro data.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="MBE_LEARN_GAIN" default="18." type="FLOAT">
      <short_desc>Mag bias estimator learning gain</short_desc>
      <long_desc>Increase to make the estimator more responsive Decrease to make the estimator more robust to noise</long_desc>
      <min>0.1</min>
      <max>100</max>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
  </group>
  <group name="Manual Control">
    <parameter name="MAN_ARM_GESTURE" default="1" type="INT32" boolean="true">
      <short_desc>Enable arm/disarm stick gesture</short_desc>
      <long_desc>This determines if moving the left stick to the lower right arms and to the lower left disarms the vehicle.</long_desc>
    </parameter>
  </group>
  <group name="Mission">
    <parameter name="FW_GPSF_LT" default="30" type="INT32">
      <short_desc>GPS failure loiter time</short_desc>
      <long_desc>The time in seconds the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.</long_desc>
      <min>0</min>
      <max>3600</max>
      <unit>s</unit>
    </parameter>
    <parameter name="FW_GPSF_R" default="15.0" type="FLOAT">
      <short_desc>GPS failure fixed roll angle</short_desc>
      <long_desc>Roll in degrees during the loiter after the vehicle has lost GPS in an auto mode (e.g. mission or loiter).</long_desc>
      <min>0.0</min>
      <max>30.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="MIS_DIST_1WP" default="900" type="FLOAT">
      <short_desc>Maximal horizontal distance from current position to first waypoint</short_desc>
      <long_desc>Failsafe check to prevent running mission stored from previous flight at a new takeoff location. Set a value of zero or less to disable. The mission will not be started if the current waypoint is more distant than MIS_DIST_1WP from the current position.</long_desc>
      <min>-1</min>
      <max>10000</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>100</increment>
    </parameter>
    <parameter name="MIS_LND_ABRT_ALT" default="30" type="INT32">
      <short_desc>Landing abort min altitude</short_desc>
      <long_desc>Minimum altitude above landing point that the vehicle will climb to after an aborted landing. Then vehicle will loiter in this altitude until further command is received. Only applies to fixed-wing vehicles.</long_desc>
      <min>0</min>
      <unit>m</unit>
    </parameter>
    <parameter name="MIS_MNT_YAW_CTL" default="0" type="INT32">
      <short_desc>Enable yaw control of the mount. (Only affects multicopters and ROI mission items)</short_desc>
      <long_desc>If enabled, yaw commands will be sent to the mount and the vehicle will follow its heading towards the flight direction. If disabled, the vehicle will yaw towards the ROI.</long_desc>
      <min>0</min>
      <max>1</max>
      <values>
        <value code="0">Disable</value>
        <value code="1">Enable</value>
      </values>
    </parameter>
    <parameter name="MIS_PD_TO" default="5.0" type="FLOAT">
      <short_desc>Timeout for a successful payload deployment acknowledgement</short_desc>
      <min>0</min>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MIS_TAKEOFF_ALT" default="2.5" type="FLOAT">
      <short_desc>Take-off altitude</short_desc>
      <long_desc>This is the minimum altitude the system will take off to.</long_desc>
      <min>0</min>
      <max>80</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="MIS_TKO_LAND_REQ" default="0" type="INT32">
      <short_desc>Mission takeoff/landing required</short_desc>
      <long_desc>Specifies if a mission has to contain a takeoff and/or mission landing. Validity of configured takeoffs/landings is checked independently of the setting here.</long_desc>
      <values>
        <value code="0">No requirements</value>
        <value code="1">Require a takeoff</value>
        <value code="2">Require a landing</value>
        <value code="3">Require a takeoff and a landing</value>
        <value code="4">Require both a takeoff and a landing, or neither</value>
      </values>
    </parameter>
    <parameter name="MIS_YAW_ERR" default="12.0" type="FLOAT">
      <short_desc>Max yaw error in degrees needed for waypoint heading acceptance</short_desc>
      <min>0</min>
      <max>90</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MIS_YAW_TMT" default="-1.0" type="FLOAT">
      <short_desc>Time in seconds we wait on reaching target heading at a waypoint if it is forced</short_desc>
      <long_desc>If set &gt; 0 it will ignore the target heading for normal waypoint acceptance. If the waypoint forces the heading the timeout will matter. For example on VTOL forwards transition. Mainly useful for VTOLs that have less yaw authority and might not reach target yaw in wind. Disabled by default.</long_desc>
      <min>-1</min>
      <max>20</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MPC_YAW_MODE" default="0" type="INT32">
      <short_desc>Yaw mode</short_desc>
      <long_desc>Specifies the heading in Auto.</long_desc>
      <min>0</min>
      <max>4</max>
      <values>
        <value code="0">towards waypoint</value>
        <value code="1">towards home</value>
        <value code="2">away from home</value>
        <value code="3">along trajectory</value>
        <value code="4">towards waypoint (yaw first)</value>
      </values>
    </parameter>
    <parameter name="NAV_ACC_RAD" default="10.0" type="FLOAT">
      <short_desc>Acceptance Radius</short_desc>
      <long_desc>Default acceptance radius, overridden by acceptance radius of waypoint if set. For fixed wing the npfg switch distance is used for horizontal acceptance.</long_desc>
      <min>0.05</min>
      <max>200.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="NAV_FORCE_VT" default="1" type="INT32" boolean="true">
      <short_desc>Force VTOL mode takeoff and land</short_desc>
    </parameter>
    <parameter name="NAV_FW_ALTL_RAD" default="5.0" type="FLOAT">
      <short_desc>FW Altitude Acceptance Radius before a landing</short_desc>
      <long_desc>Altitude acceptance used for the last waypoint before a fixed-wing landing. This is usually smaller than the standard vertical acceptance because close to the ground higher accuracy is required.</long_desc>
      <min>0.05</min>
      <max>200.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="NAV_FW_ALT_RAD" default="10.0" type="FLOAT">
      <short_desc>FW Altitude Acceptance Radius</short_desc>
      <long_desc>Acceptance radius for fixedwing altitude.</long_desc>
      <min>0.05</min>
      <max>200.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="NAV_LOITER_RAD" default="80.0" type="FLOAT">
      <short_desc>Loiter radius (FW only)</short_desc>
      <long_desc>Default value of loiter radius for missions, Hold mode, Return mode, etc. (fixedwing only).</long_desc>
      <min>25</min>
      <max>1000</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="NAV_MC_ALT_RAD" default="0.8" type="FLOAT">
      <short_desc>MC Altitude Acceptance Radius</short_desc>
      <long_desc>Acceptance radius for multicopter altitude.</long_desc>
      <min>0.05</min>
      <max>200.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="NAV_MIN_LTR_ALT" default="-1." type="FLOAT">
      <short_desc>Minimum Loiter altitude</short_desc>
      <long_desc>This is the minimum altitude above Home the system will always obey in Loiter (Hold) mode if switched into this mode without specifying an altitude (e.g. through Loiter switch on RC). Doesn't affect Loiters that are part of Missions or that are entered through a reposition setpoint ("Go to"). Set to a negative value to disable.</long_desc>
      <min>-1</min>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="NAV_TRAFF_AVOID" default="1" type="INT32">
      <short_desc>Set traffic avoidance mode</short_desc>
      <long_desc>Enabling this will allow the system to respond to transponder data from e.g. ADSB transponders</long_desc>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Warn only</value>
        <value code="2">Return mode</value>
        <value code="3">Land mode</value>
        <value code="4">Position Hold mode</value>
      </values>
    </parameter>
    <parameter name="NAV_TRAFF_A_HOR" default="500" type="FLOAT">
      <short_desc>Set NAV TRAFFIC AVOID horizontal distance</short_desc>
      <long_desc>Defines a crosstrack horizontal distance</long_desc>
      <min>500</min>
      <unit>m</unit>
    </parameter>
    <parameter name="NAV_TRAFF_A_VER" default="500" type="FLOAT">
      <short_desc>Set NAV TRAFFIC AVOID vertical distance</short_desc>
      <min>10</min>
      <max>500</max>
      <unit>m</unit>
    </parameter>
    <parameter name="NAV_TRAFF_COLL_T" default="60" type="INT32">
      <short_desc>Estimated time until collision</short_desc>
      <long_desc>Minimum acceptable time until collsion. Assumes constant speed over 3d distance.</long_desc>
      <min>1</min>
      <max>900000000</max>
      <unit>s</unit>
    </parameter>
    <parameter name="WEIGHT_BASE" default="-1.0" type="FLOAT">
      <short_desc>Vehicle base weight</short_desc>
      <long_desc>This is the weight of the vehicle at which it's performance limits were derived. A zero or negative value disables trim throttle and minimum airspeed compensation based on weight.</long_desc>
      <unit>kg</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="WEIGHT_GROSS" default="-1.0" type="FLOAT">
      <short_desc>Vehicle gross weight</short_desc>
      <long_desc>This is the actual weight of the vehicle at any time. This value will differ from WEIGHT_BASE in case weight was added or removed from the base weight. Examples are the addition of payloads or larger batteries. A zero or negative value disables trim throttle and minimum airspeed compensation based on weight.</long_desc>
      <unit>kg</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
  </group>
  <group name="Mixer Output">
    <parameter name="MC_AIRMODE" default="0" type="INT32">
      <short_desc>Multicopter air-mode</short_desc>
      <long_desc>The air-mode enables the mixer to increase the total thrust of the multirotor in order to keep attitude and rate control even at low and high throttle. This function should be disabled during tuning as it will help the controller to diverge if the closed-loop is unstable (i.e. the vehicle is not tuned yet). Enabling air-mode for yaw requires the use of an arming switch.</long_desc>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Roll/Pitch</value>
        <value code="2">Roll/Pitch/Yaw</value>
      </values>
    </parameter>
  </group>
  <group name="Mount">
    <parameter name="MNT_DO_STAB" default="0" type="INT32">
      <short_desc>Stabilize the mount</short_desc>
      <long_desc>Set to true for servo gimbal, false for passthrough. This is required for a gimbal which is not capable of stabilizing itself and relies on the IMU's attitude estimation.</long_desc>
      <min>0</min>
      <max>2</max>
      <values>
        <value code="0">Disable</value>
        <value code="1">Stabilize all axis</value>
        <value code="2">Stabilize yaw for absolute/lock mode.</value>
      </values>
    </parameter>
    <parameter name="MNT_LND_P_MAX" default="90.0" type="FLOAT">
      <short_desc>Pitch maximum when landed</short_desc>
      <min>-90.0</min>
      <max>90.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MNT_LND_P_MIN" default="-90.0" type="FLOAT">
      <short_desc>Pitch minimum when landed</short_desc>
      <min>-90.0</min>
      <max>90.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MNT_MAN_PITCH" default="0" type="INT32">
      <short_desc>Auxiliary channel to control pitch (in AUX input or manual mode)</short_desc>
      <min>0</min>
      <max>6</max>
      <values>
        <value code="0">Disable</value>
        <value code="1">AUX1</value>
        <value code="2">AUX2</value>
        <value code="3">AUX3</value>
        <value code="4">AUX4</value>
        <value code="5">AUX5</value>
        <value code="6">AUX6</value>
      </values>
    </parameter>
    <parameter name="MNT_MAN_ROLL" default="0" type="INT32">
      <short_desc>Auxiliary channel to control roll (in AUX input or manual mode)</short_desc>
      <min>0</min>
      <max>6</max>
      <values>
        <value code="0">Disable</value>
        <value code="1">AUX1</value>
        <value code="2">AUX2</value>
        <value code="3">AUX3</value>
        <value code="4">AUX4</value>
        <value code="5">AUX5</value>
        <value code="6">AUX6</value>
      </values>
    </parameter>
    <parameter name="MNT_MAN_YAW" default="0" type="INT32">
      <short_desc>Auxiliary channel to control yaw (in AUX input or manual mode)</short_desc>
      <min>0</min>
      <max>6</max>
      <values>
        <value code="0">Disable</value>
        <value code="1">AUX1</value>
        <value code="2">AUX2</value>
        <value code="3">AUX3</value>
        <value code="4">AUX4</value>
        <value code="5">AUX5</value>
        <value code="6">AUX6</value>
      </values>
    </parameter>
    <parameter name="MNT_MAV_COMPID" default="154" type="INT32">
      <short_desc>Mavlink Component ID of the mount</short_desc>
      <long_desc>If MNT_MODE_OUT is MAVLink protocol v2, mount configure/control commands will be sent with this component ID.</long_desc>
    </parameter>
    <parameter name="MNT_MAV_SYSID" default="1" type="INT32">
      <short_desc>Mavlink System ID of the mount</short_desc>
      <long_desc>If MNT_MODE_OUT is MAVLink gimbal protocol v1, mount configure/control commands will be sent with this target ID.</long_desc>
    </parameter>
    <parameter name="MNT_MODE_IN" default="-1" type="INT32">
      <short_desc>Mount input mode</short_desc>
      <long_desc>This is the protocol used between the ground station and the autopilot. Recommended is Auto, RC only or MAVLink gimbal protocol v2. The rest will be deprecated.</long_desc>
      <min>-1</min>
      <max>4</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="-1">DISABLED</value>
        <value code="0">Auto (RC and MAVLink gimbal protocol v2)</value>
        <value code="1">RC</value>
        <value code="2">MAVLINK_ROI (protocol v1, to be deprecated)</value>
        <value code="3">MAVLINK_DO_MOUNT (protocol v1, to be deprecated)</value>
        <value code="4">MAVlink gimbal protocol v2</value>
      </values>
    </parameter>
    <parameter name="MNT_MODE_OUT" default="0" type="INT32">
      <short_desc>Mount output mode</short_desc>
      <long_desc>This is the protocol used between the autopilot and a connected gimbal. Recommended is the MAVLink gimbal protocol v2 if the gimbal supports it.</long_desc>
      <min>0</min>
      <max>2</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">AUX</value>
        <value code="1">MAVLink gimbal protocol v1</value>
        <value code="2">MAVLink gimbal protocol v2</value>
      </values>
    </parameter>
    <parameter name="MNT_OFF_PITCH" default="0.0" type="FLOAT">
      <short_desc>Offset for pitch channel output in degrees</short_desc>
      <min>-360.0</min>
      <max>360.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MNT_OFF_ROLL" default="0.0" type="FLOAT">
      <short_desc>Offset for roll channel output in degrees</short_desc>
      <min>-360.0</min>
      <max>360.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MNT_OFF_YAW" default="0.0" type="FLOAT">
      <short_desc>Offset for yaw channel output in degrees</short_desc>
      <min>-360.0</min>
      <max>360.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MNT_RANGE_PITCH" default="90.0" type="FLOAT">
      <short_desc>Range of pitch channel output in degrees (only in AUX output mode)</short_desc>
      <min>1.0</min>
      <max>720.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MNT_RANGE_ROLL" default="90.0" type="FLOAT">
      <short_desc>Range of roll channel output in degrees (only in AUX output mode)</short_desc>
      <min>1.0</min>
      <max>720.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MNT_RANGE_YAW" default="360.0" type="FLOAT">
      <short_desc>Range of yaw channel output in degrees (only in AUX output mode)</short_desc>
      <min>1.0</min>
      <max>720.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MNT_RATE_PITCH" default="30.0" type="FLOAT">
      <short_desc>Angular pitch rate for manual input in degrees/second</short_desc>
      <long_desc>Full stick input [-1..1] translats to [-pitch rate..pitch rate].</long_desc>
      <min>1.0</min>
      <max>90.0</max>
      <unit>deg/s</unit>
    </parameter>
    <parameter name="MNT_RATE_YAW" default="30.0" type="FLOAT">
      <short_desc>Angular yaw rate for manual input in degrees/second</short_desc>
      <long_desc>Full stick input [-1..1] translats to [-yaw rate..yaw rate].</long_desc>
      <min>1.0</min>
      <max>90.0</max>
      <unit>deg/s</unit>
    </parameter>
    <parameter name="MNT_RC_IN_MODE" default="1" type="INT32">
      <short_desc>Input mode for RC gimbal input</short_desc>
      <min>0</min>
      <max>1</max>
      <values>
        <value code="0">Angle</value>
        <value code="1">Angular rate</value>
      </values>
    </parameter>
  </group>
  <group name="Multicopter Attitude Control">
    <parameter name="MC_PITCHRATE_MAX" default="220.0" type="FLOAT">
      <short_desc>Max pitch rate</short_desc>
      <long_desc>Limit for pitch rate in manual and auto modes (except acro). Has effect for large rotations in autonomous mode, to avoid large control output and mixer saturation. This is not only limited by the vehicle's properties, but also by the maximum measurement rate of the gyro.</long_desc>
      <min>0.0</min>
      <max>1800.0</max>
      <unit>deg/s</unit>
      <decimal>1</decimal>
      <increment>5</increment>
    </parameter>
    <parameter name="MC_PITCH_P" default="6.5" type="FLOAT">
      <short_desc>Pitch P gain</short_desc>
      <long_desc>Pitch proportional gain, i.e. desired angular speed in rad/s for error 1 rad.</long_desc>
      <min>0.0</min>
      <max>12</max>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="MC_ROLLRATE_MAX" default="220.0" type="FLOAT">
      <short_desc>Max roll rate</short_desc>
      <long_desc>Limit for roll rate in manual and auto modes (except acro). Has effect for large rotations in autonomous mode, to avoid large control output and mixer saturation. This is not only limited by the vehicle's properties, but also by the maximum measurement rate of the gyro.</long_desc>
      <min>0.0</min>
      <max>1800.0</max>
      <unit>deg/s</unit>
      <decimal>1</decimal>
      <increment>5</increment>
    </parameter>
    <parameter name="MC_ROLL_P" default="6.5" type="FLOAT">
      <short_desc>Roll P gain</short_desc>
      <long_desc>Roll proportional gain, i.e. desired angular speed in rad/s for error 1 rad.</long_desc>
      <min>0.0</min>
      <max>12</max>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="MC_YAWRATE_MAX" default="200.0" type="FLOAT">
      <short_desc>Max yaw rate</short_desc>
      <min>0.0</min>
      <max>1800.0</max>
      <unit>deg/s</unit>
      <decimal>1</decimal>
      <increment>5</increment>
    </parameter>
    <parameter name="MC_YAW_P" default="2.8" type="FLOAT">
      <short_desc>Yaw P gain</short_desc>
      <long_desc>Yaw proportional gain, i.e. desired angular speed in rad/s for error 1 rad.</long_desc>
      <min>0.0</min>
      <max>5</max>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="MC_YAW_WEIGHT" default="0.4" type="FLOAT">
      <short_desc>Yaw weight</short_desc>
      <long_desc>A fraction [0,1] deprioritizing yaw compared to roll and pitch in non-linear attitude control. Deprioritizing yaw is necessary because multicopters have much less control authority in yaw compared to the other axes and it makes sense because yaw is not critical for stable hovering or 3D navigation. For yaw control tuning use MC_YAW_P. This ratio has no impact on the yaw gain.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="MPC_YAWRAUTO_MAX" default="45.0" type="FLOAT">
      <short_desc>Max yaw rate in auto mode</short_desc>
      <long_desc>Limit the rate of change of the yaw setpoint in autonomous mode to avoid large control output and mixer saturation.</long_desc>
      <min>0.0</min>
      <max>360.0</max>
      <unit>deg/s</unit>
      <decimal>1</decimal>
      <increment>5</increment>
    </parameter>
  </group>
  <group name="Multicopter Position Control">
    <parameter name="CP_DELAY" default="0.4" type="FLOAT">
      <short_desc>Average delay of the range sensor message plus the tracking delay of the position controller in seconds</short_desc>
      <long_desc>Only used in Position mode.</long_desc>
      <min>0</min>
      <max>1</max>
      <unit>s</unit>
    </parameter>
    <parameter name="CP_DIST" default="-1.0" type="FLOAT">
      <short_desc>Minimum distance the vehicle should keep to all obstacles</short_desc>
      <long_desc>Only used in Position mode. Collision avoidance is disabled by setting this parameter to a negative value</long_desc>
      <min>-1</min>
      <max>15</max>
      <unit>m</unit>
    </parameter>
    <parameter name="CP_GO_NO_DATA" default="0" type="INT32" boolean="true">
      <short_desc>Boolean to allow moving into directions where there is no sensor data (outside FOV)</short_desc>
      <long_desc>Only used in Position mode.</long_desc>
    </parameter>
    <parameter name="CP_GUIDE_ANG" default="30." type="FLOAT">
      <short_desc>Angle left/right from the commanded setpoint by which the collision prevention algorithm can choose to change the setpoint direction</short_desc>
      <long_desc>Only used in Position mode.</long_desc>
      <min>0</min>
      <max>90</max>
      <unit>deg</unit>
    </parameter>
    <parameter name="MC_MAN_TILT_TAU" default="0.0" type="FLOAT">
      <short_desc>Manual tilt input filter time constant</short_desc>
      <long_desc>Setting this parameter to 0 disables the filter</long_desc>
      <min>0.0</min>
      <max>2.0</max>
      <unit>s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MPC_ACC_DOWN_MAX" default="3.0" type="FLOAT">
      <short_desc>Maximum vertical acceleration in velocity controlled modes down</short_desc>
      <min>2.0</min>
      <max>15.0</max>
      <unit>m/s^2</unit>
      <decimal>2</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MPC_ACC_HOR" default="3.0" type="FLOAT">
      <short_desc>Acceleration for auto and for manual</short_desc>
      <long_desc>Note: In manual, this parameter is only used in MPC_POS_MODE 4.</long_desc>
      <min>2.0</min>
      <max>15.0</max>
      <unit>m/s^2</unit>
      <decimal>2</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MPC_ACC_HOR_MAX" default="5.0" type="FLOAT">
      <short_desc>Maximum horizontal acceleration for auto mode and for manual mode</short_desc>
      <long_desc>MPC_POS_MODE 1 just deceleration 3 acceleration and deceleration 4 just acceleration</long_desc>
      <min>2.0</min>
      <max>15.0</max>
      <unit>m/s^2</unit>
      <decimal>2</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MPC_ACC_UP_MAX" default="4.0" type="FLOAT">
      <short_desc>Maximum vertical acceleration in velocity controlled modes upward</short_desc>
      <min>2.0</min>
      <max>15.0</max>
      <unit>m/s^2</unit>
      <decimal>2</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MPC_ALT_MODE" default="0" type="INT32">
      <short_desc>Altitude control mode</short_desc>
      <long_desc>Set to 0 to control height relative to the earth frame origin. This origin may move up and down in flight due to sensor drift. Set to 1 to control height relative to estimated distance to ground. The vehicle will move up and down with terrain height variation. Requires a distance to ground sensor. The height controller will revert to using height above origin if the distance to ground estimate becomes invalid as indicated by the local_position.distance_bottom_valid message being false. Set to 2 to control height relative to ground (requires a distance sensor) when stationary and relative to earth frame origin when moving horizontally. The speed threshold is controlled by the MPC_HOLD_MAX_XY parameter.</long_desc>
      <min>0</min>
      <max>2</max>
      <values>
        <value code="0">Altitude following</value>
        <value code="1">Terrain following</value>
        <value code="2">Terrain hold</value>
      </values>
    </parameter>
    <parameter name="MPC_HOLD_DZ" default="0.1" type="FLOAT">
      <short_desc>Deadzone of sticks where position hold is enabled</short_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MPC_HOLD_MAX_XY" default="0.8" type="FLOAT">
      <short_desc>Maximum horizontal velocity for which position hold is enabled (use 0 to disable check)</short_desc>
      <min>0.0</min>
      <max>3.0</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MPC_HOLD_MAX_Z" default="0.6" type="FLOAT">
      <short_desc>Maximum vertical velocity for which position hold is enabled (use 0 to disable check)</short_desc>
      <min>0.0</min>
      <max>3.0</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MPC_JERK_AUTO" default="4.0" type="FLOAT">
      <short_desc>Jerk limit in auto mode</short_desc>
      <long_desc>Limit the maximum jerk of the vehicle (how fast the acceleration can change). A lower value leads to smoother vehicle motions, but it also limits its agility.</long_desc>
      <min>1.0</min>
      <max>80.0</max>
      <unit>m/s^3</unit>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MPC_JERK_MAX" default="8.0" type="FLOAT">
      <short_desc>Maximum jerk limit</short_desc>
      <long_desc>Limit the maximum jerk of the vehicle (how fast the acceleration can change). A lower value leads to smoother vehicle motions, but it also limits its agility (how fast it can change directions or break). Setting this to the maximum value essentially disables the limit. Note: This is only used when MPC_POS_MODE is set to a smoothing mode 3 or 4.</long_desc>
      <min>0.5</min>
      <max>500.0</max>
      <unit>m/s^3</unit>
      <decimal>2</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MPC_LAND_ALT1" default="10.0" type="FLOAT">
      <short_desc>Altitude for 1. step of slow landing (descend)</short_desc>
      <long_desc>Below this altitude descending velocity gets limited to a value between "MPC_Z_VEL_MAX_DN" (or "MPC_Z_V_AUTO_DN") and "MPC_LAND_SPEED" Value needs to be higher than "MPC_LAND_ALT2"</long_desc>
      <min>0</min>
      <max>122</max>
      <unit>m</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MPC_LAND_ALT2" default="5.0" type="FLOAT">
      <short_desc>Altitude for 2. step of slow landing (landing)</short_desc>
      <long_desc>Below this altitude descending velocity gets limited to "MPC_LAND_SPEED" Value needs to be lower than "MPC_LAND_ALT1"</long_desc>
      <min>0</min>
      <max>122</max>
      <unit>m</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MPC_LAND_ALT3" default="1.0" type="FLOAT">
      <short_desc>Altitude for 3. step of slow landing</short_desc>
      <long_desc>Below this altitude descending velocity gets limited to "MPC_LAND_CRWL", if LIDAR available. No effect if LIDAR not available</long_desc>
      <min>0</min>
      <max>122</max>
      <unit>m</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MPC_LAND_CRWL" default="0.3" type="FLOAT">
      <short_desc>Land crawl descend rate</short_desc>
      <long_desc>Used below MPC_LAND_ALT3 if distance sensor data is availabe.</long_desc>
      <min>0.1</min>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MPC_LAND_RADIUS" default="1000." type="FLOAT">
      <short_desc>User assisted landing radius</short_desc>
      <long_desc>When user assisted descent is enabled (see MPC_LAND_RC_HELP), this parameter controls the maximum position adjustment allowed from the original landing point.</long_desc>
      <min>0</min>
      <unit>m</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MPC_LAND_RC_HELP" default="0" type="INT32">
      <short_desc>Enable user assisted descent for autonomous land routine</short_desc>
      <long_desc>When enabled, descent speed will be: stick full up - 0 stick centered - MPC_LAND_SPEED stick full down - 2 * MPC_LAND_SPEED Additionally, the vehicle can be yawed and moved laterally using the other sticks. Manual override during auto modes has to be disabled to use this feature (see COM_RC_OVERRIDE).</long_desc>
      <min>0</min>
      <max>1</max>
      <values>
        <value code="0">Fixed descent speed of MPC_LAND_SPEED</value>
        <value code="1">User assisted descent speed</value>
      </values>
    </parameter>
    <parameter name="MPC_LAND_SPEED" default="0.7" type="FLOAT">
      <short_desc>Landing descend rate</short_desc>
      <min>0.6</min>
      <unit>m/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MPC_MANTHR_MIN" default="0.08" type="FLOAT">
      <short_desc>Minimum manual thrust</short_desc>
      <long_desc>Minimum vertical thrust. It's recommended to set it &gt; 0 to avoid free fall with zero thrust. With MC_AIRMODE set to 1, this can safely be set to 0.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MPC_MAN_TILT_MAX" default="35.0" type="FLOAT">
      <short_desc>Maximal tilt angle in manual or altitude mode</short_desc>
      <min>0.0</min>
      <max>90.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MPC_MAN_Y_MAX" default="150.0" type="FLOAT">
      <short_desc>Max manual yaw rate</short_desc>
      <min>0.0</min>
      <max>400</max>
      <unit>deg/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MPC_MAN_Y_TAU" default="0.08" type="FLOAT">
      <short_desc>Manual yaw rate input filter time constant</short_desc>
      <long_desc>Setting this parameter to 0 disables the filter</long_desc>
      <min>0.0</min>
      <max>5.0</max>
      <unit>s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MPC_POS_MODE" default="4" type="INT32">
      <short_desc>Manual-Position control sub-mode</short_desc>
      <long_desc>The supported sub-modes are: 0 Simple position control where sticks map directly to velocity setpoints without smoothing. Useful for velocity control tuning. 3 Smooth position control with maximum acceleration and jerk limits based on jerk optimized trajectory generator (different algorithm than 1). 4 Smooth position control where sticks map to acceleration and there's a virtual brake drag</long_desc>
      <values>
        <value code="0">Simple position control</value>
        <value code="3">Smooth position control (Jerk optimized)</value>
        <value code="4">Acceleration based input</value>
      </values>
    </parameter>
    <parameter name="MPC_THR_CURVE" default="0" type="INT32">
      <short_desc>Thrust curve in Manual Mode</short_desc>
      <long_desc>This parameter defines how the throttle stick input is mapped to commanded thrust in Manual/Stabilized flight mode. In case the default is used ('Rescale to hover thrust'), the stick input is linearly rescaled, such that a centered stick corresponds to the hover throttle (see MPC_THR_HOVER). Select 'No Rescale' to directly map the stick 1:1 to the output. This can be useful in case the hover thrust is very low and the default would lead to too much distortion (e.g. if hover thrust is set to 20%, 80% of the upper thrust range is squeezed into the upper half of the stick range). Note: In case MPC_THR_HOVER is set to 50%, the modes 0 and 1 are the same.</long_desc>
      <values>
        <value code="0">Rescale to hover thrust</value>
        <value code="1">No Rescale</value>
      </values>
    </parameter>
    <parameter name="MPC_THR_HOVER" default="0.5" type="FLOAT">
      <short_desc>Hover thrust</short_desc>
      <long_desc>Vertical thrust required to hover. This value is mapped to center stick for manual throttle control. With this value set to the thrust required to hover, transition from manual to Altitude or Position mode while hovering will occur with the throttle stick near center, which is then interpreted as (near) zero demand for vertical speed. This parameter is also important for the landing detection to work correctly.</long_desc>
      <min>0.1</min>
      <max>0.8</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MPC_THR_MAX" default="1.0" type="FLOAT">
      <short_desc>Maximum thrust in auto thrust control</short_desc>
      <long_desc>Limit max allowed thrust</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MPC_THR_MIN" default="0.12" type="FLOAT">
      <short_desc>Minimum collective thrust in auto thrust control</short_desc>
      <long_desc>It's recommended to set it &gt; 0 to avoid free fall with zero thrust. Note: Without airmode zero thrust leads to zero roll/pitch control authority. (see MC_AIRMODE)</long_desc>
      <min>0.05</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MPC_THR_XY_MARG" default="0.3" type="FLOAT">
      <short_desc>Horizontal thrust margin</short_desc>
      <long_desc>Margin that is kept for horizontal control when prioritizing vertical thrust. To avoid completely starving horizontal control with high vertical error.</long_desc>
      <min>0.0</min>
      <max>0.5</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MPC_TILTMAX_AIR" default="45.0" type="FLOAT">
      <short_desc>Maximum tilt angle in air</short_desc>
      <long_desc>Limits maximum tilt in AUTO and POSCTRL modes during flight.</long_desc>
      <min>20.0</min>
      <max>89.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MPC_TILTMAX_LND" default="12.0" type="FLOAT">
      <short_desc>Maximum tilt during landing</short_desc>
      <long_desc>Limits maximum tilt angle on landing.</long_desc>
      <min>10.0</min>
      <max>89.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MPC_TKO_RAMP_T" default="3.0" type="FLOAT">
      <short_desc>Position control smooth takeoff ramp time constant</short_desc>
      <long_desc>Increasing this value will make automatic and manual takeoff slower. If it's too slow the drone might scratch the ground and tip over. A time constant of 0 disables the ramp</long_desc>
      <min>0</min>
      <max>5</max>
    </parameter>
    <parameter name="MPC_TKO_SPEED" default="1.5" type="FLOAT">
      <short_desc>Takeoff climb rate</short_desc>
      <min>1</min>
      <max>5</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MPC_USE_HTE" default="1" type="INT32" boolean="true">
      <short_desc>Hover thrust source selector</short_desc>
      <long_desc>Set false to use the fixed parameter MPC_THR_HOVER Set true to use the value computed by the hover thrust estimator</long_desc>
    </parameter>
    <parameter name="MPC_VELD_LP" default="5.0" type="FLOAT">
      <short_desc>Low pass filter cut freq. for numerical velocity derivative</short_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>Hz</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MPC_VEL_MANUAL" default="10.0" type="FLOAT">
      <short_desc>Maximum horizontal velocity setpoint in Position mode</short_desc>
      <long_desc>If velocity setpoint larger than MPC_XY_VEL_MAX is set, then the setpoint will be capped to MPC_XY_VEL_MAX The maximum sideways and backward speed can be set differently using MPC_VEL_MAN_SIDE and MPC_VEL_MAN_BACK, respectively.</long_desc>
      <min>3.0</min>
      <max>20.0</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MPC_VEL_MAN_BACK" default="-1.0" type="FLOAT">
      <short_desc>Maximum backward velocity in Position mode</short_desc>
      <long_desc>If set to a negative value or larger than MPC_VEL_MANUAL then MPC_VEL_MANUAL is used.</long_desc>
      <min>-1.0</min>
      <max>20.0</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="MPC_VEL_MAN_SIDE" default="-1.0" type="FLOAT">
      <short_desc>Maximum sideways velocity in Position mode</short_desc>
      <long_desc>If set to a negative value or larger than MPC_VEL_MANUAL then MPC_VEL_MANUAL is used.</long_desc>
      <min>-1.0</min>
      <max>20.0</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="MPC_XY_CRUISE" default="5.0" type="FLOAT">
      <short_desc>Default horizontal velocity in mission</short_desc>
      <long_desc>Horizontal velocity used when flying autonomously in e.g. Missions, RTL, Goto.</long_desc>
      <min>3.0</min>
      <max>20.0</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MPC_XY_ERR_MAX" default="2.0" type="FLOAT">
      <short_desc>Maximum horizontal error allowed by the trajectory generator</short_desc>
      <long_desc>The integration speed of the trajectory setpoint is linearly reduced with the horizontal position tracking error. When the error is above this parameter, the integration of the trajectory is stopped to wait for the drone. This value can be adjusted depending on the tracking capabilities of the vehicle.</long_desc>
      <min>0.1</min>
      <max>10.0</max>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MPC_XY_MAN_EXPO" default="0.6" type="FLOAT">
      <short_desc>Manual position control stick exponential curve sensitivity</short_desc>
      <long_desc>The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve (default) 1 Purely cubic input curve</long_desc>
      <min>0</min>
      <max>1</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MPC_XY_P" default="0.95" type="FLOAT">
      <short_desc>Proportional gain for horizontal position error</short_desc>
      <min>0.0</min>
      <max>2.0</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MPC_XY_TRAJ_P" default="0.5" type="FLOAT">
      <short_desc>Proportional gain for horizontal trajectory position error</short_desc>
      <min>0.1</min>
      <max>1.0</max>
      <decimal>1</decimal>
    </parameter>
    <parameter name="MPC_XY_VEL_ALL" default="-10.0" type="FLOAT">
      <short_desc>Overall Horizontal Velocity Limit</short_desc>
      <long_desc>If set to a value greater than zero, other parameters are automatically set (such as MPC_XY_VEL_MAX or MPC_VEL_MANUAL). If set to a negative value, the existing individual parameters are used.</long_desc>
      <min>-20</min>
      <max>20</max>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MPC_XY_VEL_D_ACC" default="0.2" type="FLOAT">
      <short_desc>Differential gain for horizontal velocity error. Small values help reduce fast oscillations. If value is too big oscillations will appear again</short_desc>
      <long_desc>defined as correction acceleration in m/s^2 per m/s^2 velocity derivative</long_desc>
      <min>0.1</min>
      <max>2.0</max>
      <decimal>3</decimal>
    </parameter>
    <parameter name="MPC_XY_VEL_I_ACC" default="0.4" type="FLOAT">
      <short_desc>Integral gain for horizontal velocity error</short_desc>
      <long_desc>defined as correction acceleration in m/s^2 per m velocity integral Non-zero value allows to eliminate steady state errors in the presence of disturbances like wind.</long_desc>
      <min>0.0</min>
      <max>60.0</max>
      <decimal>3</decimal>
    </parameter>
    <parameter name="MPC_XY_VEL_MAX" default="12.0" type="FLOAT">
      <short_desc>Maximum horizontal velocity</short_desc>
      <long_desc>Maximum horizontal velocity in AUTO mode. If higher speeds are commanded in a mission they will be capped to this velocity.</long_desc>
      <min>0.0</min>
      <max>20.0</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="MPC_XY_VEL_P_ACC" default="1.8" type="FLOAT">
      <short_desc>Proportional gain for horizontal velocity error</short_desc>
      <long_desc>defined as correction acceleration in m/s^2 per m/s velocity error</long_desc>
      <min>1.2</min>
      <max>5.0</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MPC_YAW_EXPO" default="0.6" type="FLOAT">
      <short_desc>Manual control stick yaw rotation exponential curve</short_desc>
      <long_desc>The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve (default) 1 Purely cubic input curve</long_desc>
      <min>0</min>
      <max>1</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MPC_Z_MAN_EXPO" default="0.6" type="FLOAT">
      <short_desc>Manual control stick vertical exponential curve</short_desc>
      <long_desc>The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve (default) 1 Purely cubic input curve</long_desc>
      <min>0</min>
      <max>1</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MPC_Z_P" default="1.0" type="FLOAT">
      <short_desc>Proportional gain for vertical position error</short_desc>
      <min>0.0</min>
      <max>1.5</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MPC_Z_VEL_ALL" default="-3.0" type="FLOAT">
      <short_desc>Overall Vertical Velocity Limit</short_desc>
      <long_desc>If set to a value greater than zero, other parameters are automatically set (such as MPC_Z_VEL_MAX_UP or MPC_LAND_SPEED). If set to a negative value, the existing individual parameters are used.</long_desc>
      <min>-3</min>
      <max>8</max>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="MPC_Z_VEL_D_ACC" default="0.0" type="FLOAT">
      <short_desc>Differential gain for vertical velocity error</short_desc>
      <long_desc>defined as correction acceleration in m/s^2 per m/s^2 velocity derivative</long_desc>
      <min>0.0</min>
      <max>2.0</max>
      <decimal>3</decimal>
    </parameter>
    <parameter name="MPC_Z_VEL_I_ACC" default="2.0" type="FLOAT">
      <short_desc>Integral gain for vertical velocity error</short_desc>
      <long_desc>defined as correction acceleration in m/s^2 per m velocity integral Non zero value allows hovering thrust estimation on stabilized or autonomous takeoff.</long_desc>
      <min>0.2</min>
      <max>3.0</max>
      <decimal>3</decimal>
    </parameter>
    <parameter name="MPC_Z_VEL_MAX_DN" default="1.5" type="FLOAT">
      <short_desc>Maximum descent velocity</short_desc>
      <long_desc>Descent velocity in manual modes and offboard. For auto modes, see MPC_Z_V_AUTO_DN</long_desc>
      <min>0.5</min>
      <max>4.0</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="MPC_Z_VEL_MAX_UP" default="3." type="FLOAT">
      <short_desc>Maximum ascent velocity</short_desc>
      <long_desc>Ascent velocity in manual modes and offboard. For auto modes, see MPC_Z_V_AUTO_UP</long_desc>
      <min>0.5</min>
      <max>8.0</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="MPC_Z_VEL_P_ACC" default="4.0" type="FLOAT">
      <short_desc>Proportional gain for vertical velocity error</short_desc>
      <long_desc>defined as correction acceleration in m/s^2 per m/s velocity error</long_desc>
      <min>2.0</min>
      <max>15.0</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MPC_Z_V_AUTO_DN" default="1.5" type="FLOAT">
      <short_desc>Automatic descent velocity</short_desc>
      <long_desc>Descent velocity in auto modes. For manual modes and offboard, see MPC_Z_VEL_MAX_DN</long_desc>
      <min>0.5</min>
      <max>4.0</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="MPC_Z_V_AUTO_UP" default="3." type="FLOAT">
      <short_desc>Automatic ascent velocity</short_desc>
      <long_desc>Ascent velocity in auto modes. For manual modes and offboard, see MPC_Z_VEL_MAX_UP</long_desc>
      <min>0.5</min>
      <max>8.0</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="SYS_VEHICLE_RESP" default="-0.4" type="FLOAT">
      <short_desc>Responsiveness</short_desc>
      <long_desc>Changes the overall responsiveness of the vehicle. The higher the value, the faster the vehicle will react. If set to a value greater than zero, other parameters are automatically set (such as the acceleration or jerk limits). If set to a negative value, the existing individual parameters are used.</long_desc>
      <min>-1</min>
      <max>1</max>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="WV_EN" default="0" type="INT32" boolean="true">
      <short_desc>Enable weathervane</short_desc>
    </parameter>
    <parameter name="WV_ROLL_MIN" default="1.0" type="FLOAT">
      <short_desc>Minimum roll angle setpoint for weathervane controller to demand a yaw-rate</short_desc>
      <min>0</min>
      <max>5</max>
      <unit>deg</unit>
    </parameter>
    <parameter name="WV_YRATE_MAX" default="90.0" type="FLOAT">
      <short_desc>Maximum yawrate the weathervane controller is allowed to demand</short_desc>
      <min>0</min>
      <max>120</max>
      <unit>deg/s</unit>
    </parameter>
  </group>
  <group name="Multicopter Rate Control">
    <parameter name="MC_ACRO_EXPO" default="0.69" type="FLOAT">
      <short_desc>Acro mode Expo factor for Roll and Pitch</short_desc>
      <long_desc>Exponential factor for tuning the input curve shape. 0 Purely linear input curve 1 Purely cubic input curve</long_desc>
      <min>0</min>
      <max>1</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MC_ACRO_EXPO_Y" default="0.69" type="FLOAT">
      <short_desc>Acro mode Expo factor for Yaw</short_desc>
      <long_desc>Exponential factor for tuning the input curve shape. 0 Purely linear input curve 1 Purely cubic input curve</long_desc>
      <min>0</min>
      <max>1</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MC_ACRO_P_MAX" default="720.0" type="FLOAT">
      <short_desc>Max acro pitch rate</short_desc>
      <long_desc>default: 2 turns per second</long_desc>
      <min>0.0</min>
      <max>1800.0</max>
      <unit>deg/s</unit>
      <decimal>1</decimal>
      <increment>5</increment>
    </parameter>
    <parameter name="MC_ACRO_R_MAX" default="720.0" type="FLOAT">
      <short_desc>Max acro roll rate</short_desc>
      <long_desc>default: 2 turns per second</long_desc>
      <min>0.0</min>
      <max>1800.0</max>
      <unit>deg/s</unit>
      <decimal>1</decimal>
      <increment>5</increment>
    </parameter>
    <parameter name="MC_ACRO_SUPEXPO" default="0.7" type="FLOAT">
      <short_desc>Acro mode SuperExpo factor for Roll and Pitch</short_desc>
      <long_desc>SuperExpo factor for refining the input curve shape tuned using MC_ACRO_EXPO. 0 Pure Expo function 0.7 reasonable shape enhancement for intuitive stick feel 0.95 very strong bent input curve only near maxima have effect</long_desc>
      <min>0</min>
      <max>0.95</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MC_ACRO_SUPEXPOY" default="0.7" type="FLOAT">
      <short_desc>Acro mode SuperExpo factor for Yaw</short_desc>
      <long_desc>SuperExpo factor for refining the input curve shape tuned using MC_ACRO_EXPO_Y. 0 Pure Expo function 0.7 reasonable shape enhancement for intuitive stick feel 0.95 very strong bent input curve only near maxima have effect</long_desc>
      <min>0</min>
      <max>0.95</max>
      <decimal>2</decimal>
    </parameter>
    <parameter name="MC_ACRO_Y_MAX" default="540.0" type="FLOAT">
      <short_desc>Max acro yaw rate</short_desc>
      <long_desc>default 1.5 turns per second</long_desc>
      <min>0.0</min>
      <max>1800.0</max>
      <unit>deg/s</unit>
      <decimal>1</decimal>
      <increment>5</increment>
    </parameter>
    <parameter name="MC_BAT_SCALE_EN" default="0" type="INT32" boolean="true">
      <short_desc>Battery power level scaler</short_desc>
      <long_desc>This compensates for voltage drop of the battery over time by attempting to normalize performance across the operating range of the battery. The copter should constantly behave as if it was fully charged with reduced max acceleration at lower battery percentages. i.e. if hover is at 0.5 throttle at 100% battery, it will still be 0.5 at 60% battery.</long_desc>
    </parameter>
    <parameter name="MC_PITCHRATE_D" default="0.003" type="FLOAT">
      <short_desc>Pitch rate D gain</short_desc>
      <long_desc>Pitch rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.</long_desc>
      <min>0.0</min>
      <decimal>4</decimal>
      <increment>0.0005</increment>
    </parameter>
    <parameter name="MC_PITCHRATE_FF" default="0.0" type="FLOAT">
      <short_desc>Pitch rate feedforward</short_desc>
      <long_desc>Improves tracking performance.</long_desc>
      <min>0.0</min>
      <decimal>4</decimal>
    </parameter>
    <parameter name="MC_PITCHRATE_I" default="0.2" type="FLOAT">
      <short_desc>Pitch rate I gain</short_desc>
      <long_desc>Pitch rate integral gain. Can be set to compensate static thrust difference or gravity center offset.</long_desc>
      <min>0.0</min>
      <decimal>3</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MC_PITCHRATE_K" default="1.0" type="FLOAT">
      <short_desc>Pitch rate controller gain</short_desc>
      <long_desc>Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_PITCHRATE_K * (MC_PITCHRATE_P * error + MC_PITCHRATE_I * error_integral + MC_PITCHRATE_D * error_derivative) Set MC_PITCHRATE_P=1 to implement a PID in the ideal form. Set MC_PITCHRATE_K=1 to implement a PID in the parallel form.</long_desc>
      <min>0.01</min>
      <max>5.0</max>
      <decimal>4</decimal>
      <increment>0.0005</increment>
    </parameter>
    <parameter name="MC_PITCHRATE_P" default="0.15" type="FLOAT">
      <short_desc>Pitch rate P gain</short_desc>
      <long_desc>Pitch rate proportional gain, i.e. control output for angular speed error 1 rad/s.</long_desc>
      <min>0.01</min>
      <max>0.6</max>
      <decimal>3</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MC_PR_INT_LIM" default="0.30" type="FLOAT">
      <short_desc>Pitch rate integrator limit</short_desc>
      <long_desc>Pitch rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large pitch moment trim changes.</long_desc>
      <min>0.0</min>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MC_ROLLRATE_D" default="0.003" type="FLOAT">
      <short_desc>Roll rate D gain</short_desc>
      <long_desc>Roll rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.</long_desc>
      <min>0.0</min>
      <max>0.01</max>
      <decimal>4</decimal>
      <increment>0.0005</increment>
    </parameter>
    <parameter name="MC_ROLLRATE_FF" default="0.0" type="FLOAT">
      <short_desc>Roll rate feedforward</short_desc>
      <long_desc>Improves tracking performance.</long_desc>
      <min>0.0</min>
      <decimal>4</decimal>
    </parameter>
    <parameter name="MC_ROLLRATE_I" default="0.2" type="FLOAT">
      <short_desc>Roll rate I gain</short_desc>
      <long_desc>Roll rate integral gain. Can be set to compensate static thrust difference or gravity center offset.</long_desc>
      <min>0.0</min>
      <decimal>3</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MC_ROLLRATE_K" default="1.0" type="FLOAT">
      <short_desc>Roll rate controller gain</short_desc>
      <long_desc>Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_ROLLRATE_K * (MC_ROLLRATE_P * error + MC_ROLLRATE_I * error_integral + MC_ROLLRATE_D * error_derivative) Set MC_ROLLRATE_P=1 to implement a PID in the ideal form. Set MC_ROLLRATE_K=1 to implement a PID in the parallel form.</long_desc>
      <min>0.01</min>
      <max>5.0</max>
      <decimal>4</decimal>
      <increment>0.0005</increment>
    </parameter>
    <parameter name="MC_ROLLRATE_P" default="0.15" type="FLOAT">
      <short_desc>Roll rate P gain</short_desc>
      <long_desc>Roll rate proportional gain, i.e. control output for angular speed error 1 rad/s.</long_desc>
      <min>0.01</min>
      <max>0.5</max>
      <decimal>3</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MC_RR_INT_LIM" default="0.30" type="FLOAT">
      <short_desc>Roll rate integrator limit</short_desc>
      <long_desc>Roll rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large roll moment trim changes.</long_desc>
      <min>0.0</min>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MC_YAWRATE_D" default="0.0" type="FLOAT">
      <short_desc>Yaw rate D gain</short_desc>
      <long_desc>Yaw rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.</long_desc>
      <min>0.0</min>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MC_YAWRATE_FF" default="0.0" type="FLOAT">
      <short_desc>Yaw rate feedforward</short_desc>
      <long_desc>Improves tracking performance.</long_desc>
      <min>0.0</min>
      <decimal>4</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MC_YAWRATE_I" default="0.1" type="FLOAT">
      <short_desc>Yaw rate I gain</short_desc>
      <long_desc>Yaw rate integral gain. Can be set to compensate static thrust difference or gravity center offset.</long_desc>
      <min>0.0</min>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MC_YAWRATE_K" default="1.0" type="FLOAT">
      <short_desc>Yaw rate controller gain</short_desc>
      <long_desc>Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_YAWRATE_K * (MC_YAWRATE_P * error + MC_YAWRATE_I * error_integral + MC_YAWRATE_D * error_derivative) Set MC_YAWRATE_P=1 to implement a PID in the ideal form. Set MC_YAWRATE_K=1 to implement a PID in the parallel form.</long_desc>
      <min>0.0</min>
      <max>5.0</max>
      <decimal>4</decimal>
      <increment>0.0005</increment>
    </parameter>
    <parameter name="MC_YAWRATE_P" default="0.2" type="FLOAT">
      <short_desc>Yaw rate P gain</short_desc>
      <long_desc>Yaw rate proportional gain, i.e. control output for angular speed error 1 rad/s.</long_desc>
      <min>0.0</min>
      <max>0.6</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="MC_YR_INT_LIM" default="0.30" type="FLOAT">
      <short_desc>Yaw rate integrator limit</short_desc>
      <long_desc>Yaw rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large yaw moment trim changes.</long_desc>
      <min>0.0</min>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
  </group>
  <group name="OSD">
    <parameter name="OSD_ATXXXX_CFG" default="0" type="INT32">
      <short_desc>Enable/Disable the ATXXX OSD Chip</short_desc>
      <long_desc>Configure the ATXXXX OSD Chip (mounted on the OmnibusF4SD board) and select the transmission standard.</long_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">NTSC</value>
        <value code="2">PAL</value>
      </values>
    </parameter>
  </group>
  <group name="PWM Outputs">
    <parameter name="MOT_SLEW_MAX" default="0.0" type="FLOAT">
      <short_desc>Minimum motor rise time (slew rate limit)</short_desc>
      <long_desc>Minimum time allowed for the motor input signal to pass through a range of 1000 PWM units. A value x means that the motor signal can only go from 1000 to 2000 PWM in minimum x seconds. Zero means that slew rate limiting is disabled.</long_desc>
      <min>0.0</min>
      <unit>s/(1000*PWM)</unit>
    </parameter>
    <parameter name="PWM_SBUS_MODE" default="0" type="INT32" boolean="true">
      <short_desc>S.BUS out</short_desc>
      <long_desc>Set to 1 to enable S.BUS version 1 output instead of RSSI.</long_desc>
    </parameter>
    <parameter name="THR_MDL_FAC" default="0.0" type="FLOAT">
      <short_desc>Thrust to motor control signal model parameter</short_desc>
      <long_desc>Parameter used to model the nonlinear relationship between motor control signal (e.g. PWM) and static thrust. The model is: rel_thrust = factor * rel_signal^2 + (1-factor) * rel_signal, where rel_thrust is the normalized thrust between 0 and 1, and rel_signal is the relative motor control signal between 0 and 1.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
  </group>
  <group name="Precision Land">
    <parameter name="PLD_BTOUT" default="5.0" type="FLOAT">
      <short_desc>Landing Target Timeout</short_desc>
      <long_desc>Time after which the landing target is considered lost without any new measurements.</long_desc>
      <min>0.0</min>
      <max>50</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="PLD_FAPPR_ALT" default="0.1" type="FLOAT">
      <short_desc>Final approach altitude</short_desc>
      <long_desc>Allow final approach (without horizontal positioning) if losing landing target closer than this to the ground.</long_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>m</unit>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="PLD_HACC_RAD" default="0.2" type="FLOAT">
      <short_desc>Horizontal acceptance radius</short_desc>
      <long_desc>Start descending if closer above landing target than this.</long_desc>
      <min>0.0</min>
      <max>10</max>
      <unit>m</unit>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="PLD_MAX_SRCH" default="3" type="INT32">
      <short_desc>Maximum number of search attempts</short_desc>
      <long_desc>Maximum number of times to search for the landing target if it is lost during the precision landing.</long_desc>
      <min>0</min>
      <max>100</max>
    </parameter>
    <parameter name="PLD_SRCH_ALT" default="10.0" type="FLOAT">
      <short_desc>Search altitude</short_desc>
      <long_desc>Altitude above home to which to climb when searching for the landing target.</long_desc>
      <min>0.0</min>
      <max>100</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="PLD_SRCH_TOUT" default="10.0" type="FLOAT">
      <short_desc>Search timeout</short_desc>
      <long_desc>Time allowed to search for the landing target before falling back to normal landing.</long_desc>
      <min>0.0</min>
      <max>100</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
  </group>
  <group name="Radio Calibration">
    <parameter name="RC10_DZ" default="0.0" type="FLOAT">
      <short_desc>RC channel 10 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
    </parameter>
    <parameter name="RC10_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 10 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC10_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 10 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC10_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 10 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC10_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 10 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC11_DZ" default="0.0" type="FLOAT">
      <short_desc>RC channel 11 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
    </parameter>
    <parameter name="RC11_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 11 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC11_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 11 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC11_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 11 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC11_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 11 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC12_DZ" default="0.0" type="FLOAT">
      <short_desc>RC channel 12 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
    </parameter>
    <parameter name="RC12_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 12 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC12_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 12 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC12_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 12 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC12_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 12 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC13_DZ" default="0.0" type="FLOAT">
      <short_desc>RC channel 13 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
    </parameter>
    <parameter name="RC13_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 13 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC13_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 13 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC13_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 13 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC13_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 13 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC14_DZ" default="0.0" type="FLOAT">
      <short_desc>RC channel 14 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
    </parameter>
    <parameter name="RC14_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 14 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC14_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 14 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC14_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 14 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC14_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 14 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC15_DZ" default="0.0" type="FLOAT">
      <short_desc>RC channel 15 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
    </parameter>
    <parameter name="RC15_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 15 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC15_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 15 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC15_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 15 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC15_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 15 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC16_DZ" default="0.0" type="FLOAT">
      <short_desc>RC channel 16 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
    </parameter>
    <parameter name="RC16_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 16 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC16_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 16 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC16_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 16 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC16_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 16 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC17_DZ" default="0.0" type="FLOAT">
      <short_desc>RC channel 17 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
    </parameter>
    <parameter name="RC17_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 17 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC17_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 17 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC17_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 17 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC17_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 17 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC18_DZ" default="0.0" type="FLOAT">
      <short_desc>RC channel 18 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
    </parameter>
    <parameter name="RC18_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 18 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC18_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 18 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC18_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 18 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC18_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 18 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC1_DZ" default="10.0" type="FLOAT">
      <short_desc>RC channel 1 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC1_MAX" default="2000.0" type="FLOAT">
      <short_desc>RC channel 1 maximum</short_desc>
      <long_desc>Maximum value for RC channel 1</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC1_MIN" default="1000.0" type="FLOAT">
      <short_desc>RC channel 1 minimum</short_desc>
      <long_desc>Minimum value for RC channel 1</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC1_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 1 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC1_TRIM" default="1500.0" type="FLOAT">
      <short_desc>RC channel 1 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC2_DZ" default="10.0" type="FLOAT">
      <short_desc>RC channel 2 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC2_MAX" default="2000.0" type="FLOAT">
      <short_desc>RC channel 2 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC2_MIN" default="1000.0" type="FLOAT">
      <short_desc>RC channel 2 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC2_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 2 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC2_TRIM" default="1500.0" type="FLOAT">
      <short_desc>RC channel 2 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC3_DZ" default="10.0" type="FLOAT">
      <short_desc>RC channel 3 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC3_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 3 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC3_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 3 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC3_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 3 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC3_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 3 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC4_DZ" default="10.0" type="FLOAT">
      <short_desc>RC channel 4 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC4_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 4 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC4_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 4 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC4_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 4 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC4_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 4 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC5_DZ" default="10.0" type="FLOAT">
      <short_desc>RC channel 5 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
    </parameter>
    <parameter name="RC5_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 5 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC5_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 5 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC5_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 5 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC5_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 5 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC6_DZ" default="10.0" type="FLOAT">
      <short_desc>RC channel 6 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
    </parameter>
    <parameter name="RC6_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 6 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC6_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 6 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC6_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 6 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC6_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 6 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC7_DZ" default="10.0" type="FLOAT">
      <short_desc>RC channel 7 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
    </parameter>
    <parameter name="RC7_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 7 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC7_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 7 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC7_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 7 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC7_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 7 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC8_DZ" default="10.0" type="FLOAT">
      <short_desc>RC channel 8 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
    </parameter>
    <parameter name="RC8_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 8 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC8_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 8 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC8_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 8 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC8_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 8 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC9_DZ" default="0.0" type="FLOAT">
      <short_desc>RC channel 9 dead zone</short_desc>
      <long_desc>The +- range of this value around the trim value will be considered as zero.</long_desc>
      <min>0.0</min>
      <max>100.0</max>
    </parameter>
    <parameter name="RC9_MAX" default="2000" type="FLOAT">
      <short_desc>RC channel 9 maximum</short_desc>
      <long_desc>Maximum value for this channel.</long_desc>
      <min>1500.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC9_MIN" default="1000" type="FLOAT">
      <short_desc>RC channel 9 minimum</short_desc>
      <long_desc>Minimum value for this channel.</long_desc>
      <min>800.0</min>
      <max>1500.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC9_REV" default="1.0" type="FLOAT">
      <short_desc>RC channel 9 reverse</short_desc>
      <long_desc>Set to -1 to reverse channel.</long_desc>
      <min>-1.0</min>
      <max>1.0</max>
      <values>
        <value code="-1.0">Reverse</value>
        <value code="1.0">Normal</value>
      </values>
    </parameter>
    <parameter name="RC9_TRIM" default="1500" type="FLOAT">
      <short_desc>RC channel 9 trim</short_desc>
      <long_desc>Mid point value</long_desc>
      <min>800.0</min>
      <max>2200.0</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC_CHAN_CNT" default="0" type="INT32">
      <short_desc>RC channel count</short_desc>
      <long_desc>This parameter is used by Ground Station software to save the number of channels which were used during RC calibration. It is only meant for ground station use.</long_desc>
      <min>0</min>
      <max>18</max>
    </parameter>
    <parameter name="RC_FAILS_THR" default="0" type="INT32">
      <short_desc>Failsafe channel PWM threshold</short_desc>
      <long_desc>Use RC_MAP_FAILSAFE to specify which channel is used to indicate RC loss via this threshold. By default this is the throttle channel. Set to a PWM value slightly above the PWM value for the channel (e.g. throttle) in a failsafe event, but below the minimum PWM value for the channel during normal operation. Note: The default value of 0 disables the feature (it is below the expected range).</long_desc>
      <min>0</min>
      <max>2200</max>
      <unit>us</unit>
    </parameter>
    <parameter name="RC_MAP_AUX1" default="0" type="INT32">
      <short_desc>AUX1 Passthrough RC channel</short_desc>
      <long_desc>Default function: Camera pitch</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_AUX2" default="0" type="INT32">
      <short_desc>AUX2 Passthrough RC channel</short_desc>
      <long_desc>Default function: Camera roll</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_AUX3" default="0" type="INT32">
      <short_desc>AUX3 Passthrough RC channel</short_desc>
      <long_desc>Default function: Camera azimuth / yaw</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_AUX4" default="0" type="INT32">
      <short_desc>AUX4 Passthrough RC channel</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_AUX5" default="0" type="INT32">
      <short_desc>AUX5 Passthrough RC channel</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_AUX6" default="0" type="INT32">
      <short_desc>AUX6 Passthrough RC channel</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_ENG_MOT" default="0" type="INT32">
      <short_desc>RC channel to engage the main motor (for helicopters)</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_FAILSAFE" default="0" type="INT32">
      <short_desc>Failsafe channel mapping</short_desc>
      <long_desc>Configures which RC channel is used by the receiver to indicate the signal was lost (on receivers that use output a fixed signal value to report lost signal). If set to 0, the channel mapped to throttle is used. Use RC_FAILS_THR to set the threshold indicating lost signal. By default it's below the expected range and hence disabled.</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_PARAM1" default="0" type="INT32">
      <short_desc>PARAM1 tuning channel</short_desc>
      <long_desc>Can be used for parameter tuning with the RC. This one is further referenced as the 1st parameter channel. Set to 0 to deactivate *</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_PARAM2" default="0" type="INT32">
      <short_desc>PARAM2 tuning channel</short_desc>
      <long_desc>Can be used for parameter tuning with the RC. This one is further referenced as the 2nd parameter channel. Set to 0 to deactivate *</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_PARAM3" default="0" type="INT32">
      <short_desc>PARAM3 tuning channel</short_desc>
      <long_desc>Can be used for parameter tuning with the RC. This one is further referenced as the 3th parameter channel. Set to 0 to deactivate *</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_PITCH" default="0" type="INT32">
      <short_desc>Pitch control channel mapping</short_desc>
      <long_desc>The channel index (starting from 1 for channel 1) indicates which channel should be used for reading pitch inputs from. A value of zero indicates the switch is not assigned.</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_ROLL" default="0" type="INT32">
      <short_desc>Roll control channel mapping</short_desc>
      <long_desc>The channel index (starting from 1 for channel 1) indicates which channel should be used for reading roll inputs from. A value of zero indicates the switch is not assigned.</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_THROTTLE" default="0" type="INT32">
      <short_desc>Throttle control channel mapping</short_desc>
      <long_desc>The channel index (starting from 1 for channel 1) indicates which channel should be used for reading throttle inputs from. A value of zero indicates the switch is not assigned.</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_YAW" default="0" type="INT32">
      <short_desc>Yaw control channel mapping</short_desc>
      <long_desc>The channel index (starting from 1 for channel 1) indicates which channel should be used for reading yaw inputs from. A value of zero indicates the switch is not assigned.</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_RSSI_PWM_CHAN" default="0" type="INT32">
      <short_desc>PWM input channel that provides RSSI</short_desc>
      <long_desc>0: do not read RSSI from input channel 1-18: read RSSI from specified input channel Specify the range for RSSI input with RC_RSSI_PWM_MIN and RC_RSSI_PWM_MAX parameters.</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_RSSI_PWM_MAX" default="2000" type="INT32">
      <short_desc>Max input value for RSSI reading</short_desc>
      <long_desc>Only used if RC_RSSI_PWM_CHAN &gt; 0</long_desc>
      <min>0</min>
      <max>2000</max>
    </parameter>
    <parameter name="RC_RSSI_PWM_MIN" default="1000" type="INT32">
      <short_desc>Min input value for RSSI reading</short_desc>
      <long_desc>Only used if RC_RSSI_PWM_CHAN &gt; 0</long_desc>
      <min>0</min>
      <max>2000</max>
    </parameter>
    <parameter name="TRIM_PITCH" default="0.0" type="FLOAT">
      <short_desc>Pitch trim</short_desc>
      <long_desc>The trim value is the actuator control value the system needs for straight and level flight. It can be calibrated by flying manually straight and level using the RC trims and copying them using the GCS.</long_desc>
      <min>-0.5</min>
      <max>0.5</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="TRIM_ROLL" default="0.0" type="FLOAT">
      <short_desc>Roll trim</short_desc>
      <long_desc>The trim value is the actuator control value the system needs for straight and level flight. It can be calibrated by flying manually straight and level using the RC trims and copying them using the GCS.</long_desc>
      <min>-0.5</min>
      <max>0.5</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="TRIM_YAW" default="0.0" type="FLOAT">
      <short_desc>Yaw trim</short_desc>
      <long_desc>The trim value is the actuator control value the system needs for straight and level flight. It can be calibrated by flying manually straight and level using the RC trims and copying them using the GCS.</long_desc>
      <min>-0.5</min>
      <max>0.5</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
  </group>
  <group name="Radio Switches">
    <parameter name="RC_ARMSWITCH_TH" default="0.75" type="FLOAT">
      <short_desc>Threshold for the arm switch</short_desc>
      <long_desc>0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel&gt;th negative : true when channel&lt;th</long_desc>
      <min>-1</min>
      <max>1</max>
    </parameter>
    <parameter name="RC_ENG_MOT_TH" default="0.75" type="FLOAT">
      <short_desc>Threshold for selecting main motor engage</short_desc>
      <long_desc>0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel&gt;th negative : true when channel&lt;th</long_desc>
      <min>-1</min>
      <max>1</max>
    </parameter>
    <parameter name="RC_GEAR_TH" default="0.75" type="FLOAT">
      <short_desc>Threshold for the landing gear switch</short_desc>
      <long_desc>0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel&gt;th negative : true when channel&lt;th</long_desc>
      <min>-1</min>
      <max>1</max>
    </parameter>
    <parameter name="RC_KILLSWITCH_TH" default="0.75" type="FLOAT">
      <short_desc>Threshold for the kill switch</short_desc>
      <long_desc>0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel&gt;th negative : true when channel&lt;th</long_desc>
      <min>-1</min>
      <max>1</max>
    </parameter>
    <parameter name="RC_LOITER_TH" default="0.75" type="FLOAT">
      <short_desc>Threshold for selecting loiter mode</short_desc>
      <long_desc>0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel&gt;th negative : true when channel&lt;th</long_desc>
      <min>-1</min>
      <max>1</max>
    </parameter>
    <parameter name="RC_MAP_ACRO_SW" default="0" type="INT32">
      <short_desc>Acro switch channel (deprecated)</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_ARM_SW" default="0" type="INT32">
      <short_desc>Arm switch channel</short_desc>
      <long_desc>Use it to arm/disarm via switch instead of default throttle stick. If this is assigned, arming and disarming via stick is disabled.</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_FLAPS" default="0" type="INT32">
      <short_desc>Flaps channel</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_FLTMODE" default="0" type="INT32">
      <short_desc>Single channel flight mode selection</short_desc>
      <long_desc>If this parameter is non-zero, flight modes are only selected by this channel and are assigned to six slots.</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_FLTM_BTN" default="0" type="INT32">
      <short_desc>Button flight mode selection</short_desc>
      <long_desc>This bitmask allows to specify multiple channels for changing flight modes using momentary buttons. Each channel is assigned to a mode slot ((lowest channel = slot 1). The resulting modes for each slot X is defined by the COM_FLTMODEX parameters. The functionality can be used only if RC_MAP_FLTMODE is disabled. The maximum number of available slots and hence bits set in the mask is 6.</long_desc>
      <min>0</min>
      <max>258048</max>
      <bitmask>
        <bit index="0">Mask Channel 1 as a mode button</bit>
        <bit index="1">Mask Channel 2 as a mode button</bit>
        <bit index="2">Mask Channel 3 as a mode button</bit>
        <bit index="3">Mask Channel 4 as a mode button</bit>
        <bit index="4">Mask Channel 5 as a mode button</bit>
        <bit index="5">Mask Channel 6 as a mode button</bit>
        <bit index="6">Mask Channel 7 as a mode button</bit>
        <bit index="7">Mask Channel 8 as a mode button</bit>
        <bit index="8">Mask Channel 9 as a mode button</bit>
        <bit index="9">Mask Channel 10 as a mode button</bit>
        <bit index="10">Mask Channel 11 as a mode button</bit>
        <bit index="11">Mask Channel 12 as a mode button</bit>
        <bit index="12">Mask Channel 13 as a mode button</bit>
        <bit index="13">Mask Channel 14 as a mode button</bit>
        <bit index="14">Mask Channel 15 as a mode button</bit>
        <bit index="15">Mask Channel 16 as a mode button</bit>
        <bit index="16">Mask Channel 17 as a mode button</bit>
        <bit index="17">Mask Channel 18 as a mode button</bit>
      </bitmask>
    </parameter>
    <parameter name="RC_MAP_GEAR_SW" default="0" type="INT32">
      <short_desc>Landing gear switch channel</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_KILL_SW" default="0" type="INT32">
      <short_desc>Emergency Kill switch channel</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_LOITER_SW" default="0" type="INT32">
      <short_desc>Loiter switch channel</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_MAN_SW" default="0" type="INT32">
      <short_desc>Manual switch channel mapping (deprecated)</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_MODE_SW" default="0" type="INT32">
      <short_desc>Mode switch channel mapping (deprecated)</short_desc>
      <long_desc>This is the main flight mode selector. The channel index (starting from 1 for channel 1) indicates which channel should be used for deciding about the main mode. A value of zero indicates the switch is not assigned.</long_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_OFFB_SW" default="0" type="INT32">
      <short_desc>Offboard switch channel</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_POSCTL_SW" default="0" type="INT32">
      <short_desc>Position Control switch channel (deprecated)</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_RATT_SW" default="0" type="INT32">
      <short_desc>Rattitude switch channel (deprecated)</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_RETURN_SW" default="0" type="INT32">
      <short_desc>Return switch channel</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_STAB_SW" default="0" type="INT32">
      <short_desc>Stabilize switch channel mapping  (deprecated)</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_MAP_TRANS_SW" default="0" type="INT32">
      <short_desc>VTOL transition switch channel mapping</short_desc>
      <min>0</min>
      <max>18</max>
      <values>
        <value code="0">Unassigned</value>
        <value code="1">Channel 1</value>
        <value code="2">Channel 2</value>
        <value code="3">Channel 3</value>
        <value code="4">Channel 4</value>
        <value code="5">Channel 5</value>
        <value code="6">Channel 6</value>
        <value code="7">Channel 7</value>
        <value code="8">Channel 8</value>
        <value code="9">Channel 9</value>
        <value code="10">Channel 10</value>
        <value code="11">Channel 11</value>
        <value code="12">Channel 12</value>
        <value code="13">Channel 13</value>
        <value code="14">Channel 14</value>
        <value code="15">Channel 15</value>
        <value code="16">Channel 16</value>
        <value code="17">Channel 17</value>
        <value code="18">Channel 18</value>
      </values>
    </parameter>
    <parameter name="RC_OFFB_TH" default="0.75" type="FLOAT">
      <short_desc>Threshold for selecting offboard mode</short_desc>
      <long_desc>0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel&gt;th negative : true when channel&lt;th</long_desc>
      <min>-1</min>
      <max>1</max>
    </parameter>
    <parameter name="RC_RETURN_TH" default="0.75" type="FLOAT">
      <short_desc>Threshold for selecting return to launch mode</short_desc>
      <long_desc>0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel&gt;th negative : true when channel&lt;th</long_desc>
      <min>-1</min>
      <max>1</max>
    </parameter>
    <parameter name="RC_TRANS_TH" default="0.75" type="FLOAT">
      <short_desc>Threshold for the VTOL transition switch</short_desc>
      <long_desc>0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel&gt;th negative : true when channel&lt;th</long_desc>
      <min>-1</min>
      <max>1</max>
    </parameter>
  </group>
  <group name="Return Mode">
    <parameter name="RTL_CONE_ANG" default="45" type="INT32">
      <short_desc>Half-angle of the return mode altitude cone</short_desc>
      <long_desc>Defines the half-angle of a cone centered around the destination position that affects the altitude at which the vehicle returns.</long_desc>
      <min>0</min>
      <max>90</max>
      <unit>deg</unit>
      <values>
        <value code="0">No cone, always climb to RTL_RETURN_ALT above destination.</value>
        <value code="25">25 degrees half cone angle.</value>
        <value code="45">45 degrees half cone angle.</value>
        <value code="65">65 degrees half cone angle.</value>
        <value code="80">80 degrees half cone angle.</value>
        <value code="90">Only climb to at least RTL_DESCEND_ALT above destination.</value>
      </values>
    </parameter>
    <parameter name="RTL_DESCEND_ALT" default="30." type="FLOAT">
      <short_desc>Return mode loiter altitude</short_desc>
      <long_desc>Descend to this altitude (above destination position) after return, and wait for time defined in RTL_LAND_DELAY. Land (i.e. slowly descend) from this altitude if autolanding allowed. VTOLs do transition to hover in this altitdue above the landing point.</long_desc>
      <min>0</min>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="RTL_HDG_MD" default="0" type="INT32">
      <short_desc>RTL heading mode</short_desc>
      <long_desc>Defines the heading behavior during RTL</long_desc>
      <values>
        <value code="0">Towards next waypoint.</value>
        <value code="1">Heading matches destination.</value>
        <value code="2">Use current heading.</value>
      </values>
    </parameter>
    <parameter name="RTL_LAND_DELAY" default="0.0" type="FLOAT">
      <short_desc>Return mode delay</short_desc>
      <long_desc>Delay before landing (after initial descent) in Return mode. If set to -1 the system will not land but loiter at RTL_DESCEND_ALT.</long_desc>
      <min>-1</min>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="RTL_LOITER_RAD" default="80.0" type="FLOAT">
      <short_desc>Loiter radius for rtl descend</short_desc>
      <long_desc>Set the radius for loitering to a safe altitude for VTOL transition.</long_desc>
      <min>25</min>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="RTL_MIN_DIST" default="10.0" type="FLOAT">
      <short_desc>Horizontal radius from return point within which special rules for return mode apply</short_desc>
      <long_desc>The return altitude will be calculated based on RTL_CONE_ANG parameter. The yaw setpoint will switch to the one defined by corresponding waypoint.</long_desc>
      <min>0.5</min>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="RTL_PLD_MD" default="0" type="INT32">
      <short_desc>RTL precision land mode</short_desc>
      <long_desc>Use precision landing when doing an RTL landing phase.</long_desc>
      <values>
        <value code="0">No precision landing</value>
        <value code="1">Opportunistic precision landing</value>
        <value code="2">Required precision landing</value>
      </values>
    </parameter>
    <parameter name="RTL_RETURN_ALT" default="60." type="FLOAT">
      <short_desc>Return mode return altitude</short_desc>
      <long_desc>Default minimum altitude above destination (e.g. home, safe point, landing pattern) for return flight. The vehicle will climb to this altitude when Return mode is enganged, unless it currently is flying higher already. This is affected by RTL_MIN_DIST and RTL_CONE_ANG.</long_desc>
      <min>0</min>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="RTL_TYPE" default="0" type="INT32">
      <short_desc>Return type</short_desc>
      <long_desc>Return mode destination and flight path (home location, rally point, mission landing pattern, reverse mission)</long_desc>
      <values>
        <value code="0">Return to closest safe point (home or rally point) via direct path.</value>
        <value code="1">Return to closest safe point other than home (mission landing pattern or rally point), via direct path. If no mission landing or rally points are defined return home via direct path. Always chose closest safe landing point if vehicle is a VTOL in hover mode.</value>
        <value code="2">Return to a planned mission landing, if available, using the mission path, else return to home via the reverse mission path. Do not consider rally points.</value>
        <value code="3">Return via direct path to closest destination: home, start of mission landing pattern or safe point. If the destination is a mission landing pattern, follow the pattern to land.</value>
      </values>
    </parameter>
  </group>
  <group name="Return To Land">
    <parameter name="RTL_TIME_FACTOR" default="1.1" type="FLOAT">
      <short_desc>RTL time estimate safety margin factor</short_desc>
      <long_desc>Safety factor that is used to scale the actual RTL time estimate. Time with margin = RTL_TIME_FACTOR * time + RTL_TIME_MARGIN</long_desc>
      <min>1.0</min>
      <max>2.0</max>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="RTL_TIME_MARGIN" default="100" type="INT32">
      <short_desc>RTL time estimate safety margin offset</short_desc>
      <long_desc>Margin that is added to the time estimate, after it has already been scaled Time with margin = RTL_TIME_FACTOR * time + RTL_TIME_MARGIN</long_desc>
      <min>0</min>
      <max>3600</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
  </group>
  <group name="Rover Position Control">
    <parameter name="GND_L1_DAMPING" default="0.75" type="FLOAT">
      <short_desc>L1 damping</short_desc>
      <long_desc>Damping factor for L1 control.</long_desc>
      <min>0.6</min>
      <max>0.9</max>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="GND_L1_DIST" default="1.0" type="FLOAT">
      <short_desc>L1 distance</short_desc>
      <long_desc>This is the distance at which the next waypoint is activated. This should be set to about 2-4x of GND_WHEEL_BASE and not smaller than one meter (due to GPS accuracy).</long_desc>
      <min>1.0</min>
      <max>50.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="GND_L1_PERIOD" default="5.0" type="FLOAT">
      <short_desc>L1 period</short_desc>
      <long_desc>This is the L1 distance and defines the tracking point ahead of the rover it's following. Use values around 2-5m for a 0.3m wheel base. Tuning instructions: Shorten slowly during tuning until response is sharp without oscillation.</long_desc>
      <min>0.5</min>
      <max>50.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="GND_MAN_Y_MAX" default="150.0" type="FLOAT">
      <short_desc>Max manual yaw rate</short_desc>
      <min>0.0</min>
      <max>400</max>
      <unit>deg/s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="GND_MAX_ANG" default="0.7854" type="FLOAT">
      <short_desc>Maximum turn angle for Ackerman steering</short_desc>
      <long_desc>At a control output of 0, the steering wheels are at 0 radians. At a control output of 1, the steering wheels are at GND_MAX_ANG radians.</long_desc>
      <min>0.0</min>
      <max>3.14159</max>
      <unit>rad</unit>
      <decimal>3</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="GND_SPEED_D" default="0.001" type="FLOAT">
      <short_desc>Speed proportional gain</short_desc>
      <long_desc>This is the derivative gain for the speed closed loop controller</long_desc>
      <min>0.00</min>
      <max>50.0</max>
      <unit>%m/s</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="GND_SPEED_I" default="3.0" type="FLOAT">
      <short_desc>Speed Integral gain</short_desc>
      <long_desc>This is the integral gain for the speed closed loop controller</long_desc>
      <min>0.00</min>
      <max>50.0</max>
      <unit>%m/s</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="GND_SPEED_IMAX" default="1.0" type="FLOAT">
      <short_desc>Speed integral maximum value</short_desc>
      <long_desc>This is the maxim value the integral can reach to prevent wind-up.</long_desc>
      <min>0.005</min>
      <max>50.0</max>
      <unit>%m/s</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="GND_SPEED_MAX" default="10.0" type="FLOAT">
      <short_desc>Maximum ground speed</short_desc>
      <min>0.0</min>
      <max>40</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="GND_SPEED_P" default="2.0" type="FLOAT">
      <short_desc>Speed proportional gain</short_desc>
      <long_desc>This is the proportional gain for the speed closed loop controller</long_desc>
      <min>0.005</min>
      <max>50.0</max>
      <unit>%m/s</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="GND_SPEED_THR_SC" default="1.0" type="FLOAT">
      <short_desc>Speed to throttle scaler</short_desc>
      <long_desc>This is a gain to map the speed control output to the throttle linearly.</long_desc>
      <min>0.005</min>
      <max>50.0</max>
      <unit>%m/s</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="GND_SPEED_TRIM" default="3.0" type="FLOAT">
      <short_desc>Trim ground speed</short_desc>
      <min>0.0</min>
      <max>40</max>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="GND_SP_CTRL_MODE" default="1" type="INT32">
      <short_desc>Control mode for speed</short_desc>
      <long_desc>This allows the user to choose between closed loop gps speed or open loop cruise throttle speed</long_desc>
      <min>0</min>
      <max>1</max>
      <values>
        <value code="0">open loop control</value>
        <value code="1">close the loop with gps speed</value>
      </values>
    </parameter>
    <parameter name="GND_THR_CRUISE" default="0.1" type="FLOAT">
      <short_desc>Cruise throttle</short_desc>
      <long_desc>This is the throttle setting required to achieve the desired cruise speed. 10% is ok for a traxxas stampede vxl with ESC set to training mode</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="GND_THR_MAX" default="0.3" type="FLOAT">
      <short_desc>Throttle limit max</short_desc>
      <long_desc>This is the maximum throttle % that can be used by the controller. For a Traxxas stampede vxl with the ESC set to training, 30 % is enough</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="GND_THR_MIN" default="0.0" type="FLOAT">
      <short_desc>Throttle limit min</short_desc>
      <long_desc>This is the minimum throttle % that can be used by the controller. Set to 0 for rover</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="GND_WHEEL_BASE" default="0.31" type="FLOAT">
      <short_desc>Distance from front axle to rear axle</short_desc>
      <long_desc>A value of 0.31 is typical for 1/10 RC cars.</long_desc>
      <min>0.0</min>
      <unit>m</unit>
      <decimal>3</decimal>
      <increment>0.01</increment>
    </parameter>
  </group>
  <group name="Runway Takeoff">
    <parameter name="RWTO_HDG" default="0" type="INT32">
      <short_desc>Specifies which heading should be held during the runway takeoff ground roll</short_desc>
      <long_desc>0: airframe heading when takeoff is initiated 1: position control along runway direction (bearing defined from vehicle position on takeoff initiation to MAV_CMD_TAKEOFF position defined by operator)</long_desc>
      <min>0</min>
      <max>1</max>
      <values>
        <value code="0">Airframe</value>
        <value code="1">Runway</value>
      </values>
    </parameter>
    <parameter name="RWTO_MAX_THR" default="1.0" type="FLOAT">
      <short_desc>Max throttle during runway takeoff</short_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>norm</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="RWTO_NPFG_PERIOD" default="5.0" type="FLOAT">
      <short_desc>NPFG period while steering on runway</short_desc>
      <min>1.0</min>
      <max>100.0</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="RWTO_NUDGE" default="1" type="INT32" boolean="true">
      <short_desc>Enable use of yaw stick for nudging the wheel during runway ground roll</short_desc>
      <long_desc>This is useful when map, GNSS, or yaw errors on ground are misaligned with what the operator intends for takeoff course. Particularly useful for skinny runways or if the wheel servo is a bit off trim.</long_desc>
    </parameter>
    <parameter name="RWTO_PSP" default="0.0" type="FLOAT">
      <short_desc>Pitch setpoint during taxi / before takeoff rotation airspeed is reached</short_desc>
      <long_desc>A taildragger with steerable wheel might need to pitch up a little to keep its wheel on the ground before airspeed to takeoff is reached.</long_desc>
      <min>-10.0</min>
      <max>20.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="RWTO_RAMP_TIME" default="2.0" type="FLOAT">
      <short_desc>Throttle ramp up time for runway takeoff</short_desc>
      <min>1.0</min>
      <max>15.0</max>
      <unit>s</unit>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="RWTO_ROT_AIRSPD" default="-1.0" type="FLOAT">
      <short_desc>Takeoff rotation airspeed</short_desc>
      <long_desc>The calibrated airspeed threshold during the takeoff ground roll when the plane should start rotating (pitching up). Must be less than the takeoff airspeed, will otherwise be capped at the takeoff airpeed (see FW_TKO_AIRSPD). If set &lt;= 0.0, defaults to 0.9 * takeoff airspeed (see FW_TKO_AIRSPD)</long_desc>
      <min>-1.0</min>
      <unit>m/s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="RWTO_ROT_TIME" default="1.0" type="FLOAT">
      <short_desc>Takeoff rotation time</short_desc>
      <long_desc>This is the time desired to linearly ramp in takeoff pitch constraints during the takeoff rotation</long_desc>
      <min>0.1</min>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="RWTO_TKOFF" default="0" type="INT32" boolean="true">
      <short_desc>Runway takeoff with landing gear</short_desc>
    </parameter>
  </group>
  <group name="SD Logging">
    <parameter name="SDLOG_ALGORITHM" default="2" type="INT32">
      <short_desc>Logfile Encryption algorithm</short_desc>
      <long_desc>Selects the algorithm used for logfile encryption</long_desc>
      <values>
        <value code="0">Disabled</value>
        <value code="2">XChaCha20</value>
        <value code="3">AES</value>
      </values>
    </parameter>
    <parameter name="SDLOG_BOOT_BAT" default="0" type="INT32" boolean="true">
      <short_desc>Battery-only Logging</short_desc>
      <long_desc>When enabled, logging will not start from boot if battery power is not detected (e.g. powered via USB on a test bench). This prevents extraneous flight logs from being created during bench testing. Note that this only applies to log-from-boot modes. This has no effect on arm-based modes.</long_desc>
    </parameter>
    <parameter name="SDLOG_DIRS_MAX" default="0" type="INT32">
      <short_desc>Maximum number of log directories to keep</short_desc>
      <long_desc>If there are more log directories than this value, the system will delete the oldest directories during startup. In addition, the system will delete old logs if there is not enough free space left. The minimum amount is 300 MB. If this is set to 0, old directories will only be removed if the free space falls below the minimum. Note: this does not apply to mission log files.</long_desc>
      <min>0</min>
      <max>1000</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SDLOG_EXCH_KEY" default="1" type="INT32">
      <short_desc>Logfile Encryption key exchange key</short_desc>
      <long_desc>If the logfile is encrypted using a symmetric key algorithm, the used encryption key is generated at logging start and stored on the sdcard RSA2048 encrypted using this key.</long_desc>
      <min>0</min>
      <max>255</max>
    </parameter>
    <parameter name="SDLOG_KEY" default="2" type="INT32">
      <short_desc>Logfile Encryption key index</short_desc>
      <long_desc>Selects the key in keystore, used for encrypting the log. When using a symmetric encryption algorithm, the key is generated at logging start and kept stored in this index. For symmetric algorithms, the key is volatile and valid only for the duration of logging. The key is stored in encrypted format on the sdcard alongside the logfile, using an RSA2048 key defined by the SDLOG_EXCHANGE_KEY</long_desc>
      <min>0</min>
      <max>255</max>
    </parameter>
    <parameter name="SDLOG_MISSION" default="0" type="INT32">
      <short_desc>Mission Log</short_desc>
      <long_desc>If enabled, a small additional "mission" log file will be written to the SD card. The log contains just those messages that are useful for tasks like generating flight statistics and geotagging. The different modes can be used to further reduce the logged data (and thus the log file size). For example, choose geotagging mode to only log data required for geotagging. Note that the normal/full log is still created, and contains all the data in the mission log (and more).</long_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">All mission messages</value>
        <value code="2">Geotagging messages</value>
      </values>
    </parameter>
    <parameter name="SDLOG_MODE" default="0" type="INT32">
      <short_desc>Logging Mode</short_desc>
      <long_desc>Determines when to start and stop logging. By default, logging is started when arming the system, and stopped when disarming.</long_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="-1">disabled</value>
        <value code="0">when armed until disarm (default)</value>
        <value code="1">from boot until disarm</value>
        <value code="2">from boot until shutdown</value>
        <value code="3">depending on AUX1 RC channel</value>
        <value code="4">from 1st armed until shutdown</value>
      </values>
    </parameter>
    <parameter name="SDLOG_PROFILE" default="1" type="INT32">
      <short_desc>Logging topic profile (integer bitmask)</short_desc>
      <long_desc>This integer bitmask controls the set and rates of logged topics. The default allows for general log analysis while keeping the log file size reasonably small. Enabling multiple sets leads to higher bandwidth requirements and larger log files. Set bits true to enable: 0 : Default set (used for general log analysis) 1 : Full rate estimator (EKF2) replay topics 2 : Topics for thermal calibration (high rate raw IMU and Baro sensor data) 3 : Topics for system identification (high rate actuator control and IMU data) 4 : Full rates for analysis of fast maneuvers (RC, attitude, rates and actuators) 5 : Debugging topics (debug_*.msg topics, for custom code) 6 : Topics for sensor comparison (low rate raw IMU, Baro and magnetometer data) 7 : Topics for computer vision and collision avoidance 8 : Raw FIFO high-rate IMU (Gyro) 9 : Raw FIFO high-rate IMU (Accel) 10: Logging of mavlink tunnel message (useful for payload communication debugging)</long_desc>
      <min>0</min>
      <max>2047</max>
      <reboot_required>true</reboot_required>
      <bitmask>
        <bit index="0">Default set (general log analysis)</bit>
        <bit index="1">Estimator replay (EKF2)</bit>
        <bit index="2">Thermal calibration</bit>
        <bit index="3">System identification</bit>
        <bit index="4">High rate</bit>
        <bit index="5">Debug</bit>
        <bit index="6">Sensor comparison</bit>
        <bit index="7">Computer Vision and Avoidance</bit>
        <bit index="8">Raw FIFO high-rate IMU (Gyro)</bit>
        <bit index="9">Raw FIFO high-rate IMU (Accel)</bit>
        <bit index="10">Mavlink tunnel message logging</bit>
      </bitmask>
    </parameter>
    <parameter name="SDLOG_UTC_OFFSET" default="0" type="INT32">
      <short_desc>UTC offset (unit: min)</short_desc>
      <long_desc>the difference in hours and minutes from Coordinated Universal Time (UTC) for a your place and date. for example, In case of South Korea(UTC+09:00), UTC offset is 540 min (9*60) refer to https://en.wikipedia.org/wiki/List_of_UTC_time_offsets</long_desc>
      <min>-1000</min>
      <max>1000</max>
      <unit>min</unit>
    </parameter>
    <parameter name="SDLOG_UUID" default="1" type="INT32" boolean="true">
      <short_desc>Log UUID</short_desc>
      <long_desc>If set to 1, add an ID to the log, which uniquely identifies the vehicle</long_desc>
    </parameter>
  </group>
  <group name="SITL">
    <parameter name="SIM_BAT_DRAIN" default="60" type="FLOAT">
      <short_desc>Simulator Battery drain interval</short_desc>
      <min>1</min>
      <max>86400</max>
      <unit>s</unit>
      <increment>1</increment>
    </parameter>
    <parameter name="SIM_BAT_MIN_PCT" default="50.0" type="FLOAT">
      <short_desc>Simulator Battery minimal percentage</short_desc>
      <long_desc>Can be used to alter the battery level during SITL- or HITL-simulation on the fly. Particularly useful for testing different low-battery behaviour.</long_desc>
      <min>0</min>
      <max>100</max>
      <unit>%</unit>
      <increment>0.1</increment>
    </parameter>
  </group>
  <group name="Sensor Calibration">
    <parameter name="CAL_MAG_COMP_TYP" default="0" type="INT32" category="System">
      <short_desc>Type of magnetometer compensation</short_desc>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Throttle-based compensation</value>
        <value code="2">Current-based compensation (battery_status instance 0)</value>
        <value code="3">Current-based compensation (battery_status instance 1)</value>
      </values>
    </parameter>
    <parameter name="SENS_DPRES_ANSC" default="0" type="FLOAT">
      <short_desc>Differential pressure sensor analog scaling</short_desc>
      <long_desc>Pick the appropriate scaling from the datasheet. this number defines the (linear) conversion from voltage to Pascal (pa). For the MPXV7002DP this is 1000. NOTE: If the sensor always registers zero, try switching the static and dynamic tubes.</long_desc>
    </parameter>
    <parameter name="SENS_DPRES_OFF" default="0.0" type="FLOAT" volatile="true" category="System">
      <short_desc>Differential pressure sensor offset</short_desc>
      <long_desc>The offset (zero-reading) in Pascal</long_desc>
    </parameter>
    <parameter name="SENS_FLOW_MAXHGT" default="100." type="FLOAT">
      <short_desc>Maximum height above ground when reliant on optical flow</short_desc>
      <long_desc>This parameter defines the maximum distance from ground at which the optical flow sensor operates reliably. The height setpoint will be limited to be no greater than this value when the navigation system is completely reliant on optical flow data and the height above ground estimate is valid. The sensor may be usable above this height, but accuracy will progressively degrade.</long_desc>
      <min>1.0</min>
      <max>100.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="SENS_FLOW_MAXR" default="8." type="FLOAT">
      <short_desc>Magnitude of maximum angular flow rate reliably measurable by the optical flow sensor</short_desc>
      <long_desc>Optical flow data will not fused by the estimators if the magnitude of the flow rate exceeds this value and control loops will be instructed to limit ground speed such that the flow rate produced by movement over ground is less than 50% of this value.</long_desc>
      <min>1.0</min>
      <unit>rad/s</unit>
      <decimal>2</decimal>
    </parameter>
    <parameter name="SENS_FLOW_MINHGT" default="0.08" type="FLOAT">
      <short_desc>Minimum height above ground when reliant on optical flow</short_desc>
      <long_desc>This parameter defines the minimum distance from ground at which the optical flow sensor operates reliably. The sensor may be usable below this height, but accuracy will progressively reduce to loss of focus.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
  </group>
  <group name="Sensors">
    <parameter name="ADC_ADS1115_EN" default="0" type="INT32" boolean="true">
      <short_desc>Enable external ADS1115 ADC</short_desc>
      <long_desc>If enabled, the internal ADC is not used.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="BAT1_C_MULT" default="1.0" type="FLOAT">
      <short_desc>Capacity/current multiplier for high-current capable SMBUS battery</short_desc>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="BAT1_SMBUS_MODEL" default="0" type="INT32">
      <short_desc>Battery device model</short_desc>
      <min>0</min>
      <max>2</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">AutoDetect</value>
        <value code="1">BQ40Z50 based</value>
        <value code="2">BQ40Z80 based</value>
      </values>
    </parameter>
    <parameter name="BATMON_ADDR_DFLT" default="11" type="INT32">
      <short_desc>I2C address for BatMon battery 1</short_desc>
      <decimal>1</decimal>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="BATMON_DRIVER_EN" default="0" type="INT32">
      <short_desc>Parameter to enable BatMon module</short_desc>
      <min>0</min>
      <max>2</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Start on default I2C addr(BATMON_ADDR_DFLT)</value>
        <value code="2">Autodetect I2C address (TODO)</value>
      </values>
    </parameter>
    <parameter name="CAL_AIR_CMODEL" default="0" type="INT32">
      <short_desc>Airspeed sensor compensation model for the SDP3x</short_desc>
      <long_desc>Model with Pitot CAL_AIR_TUBED_MM: Not used, 1.5 mm tubes assumed. CAL_AIR_TUBELEN: Length of the tubes connecting the pitot to the sensor. Model without Pitot (1.5 mm tubes) CAL_AIR_TUBED_MM: Not used, 1.5 mm tubes assumed. CAL_AIR_TUBELEN: Length of the tubes connecting the pitot to the sensor. Tube Pressure Drop CAL_AIR_TUBED_MM: Diameter in mm of the pitot and tubes, must have the same diameter. CAL_AIR_TUBELEN: Length of the tubes connecting the pitot to the sensor and the static + dynamic port length of the pitot.</long_desc>
      <values>
        <value code="0">Model with Pitot</value>
        <value code="1">Model without Pitot (1.5 mm tubes)</value>
        <value code="2">Tube Pressure Drop</value>
      </values>
    </parameter>
    <parameter name="CAL_AIR_TUBED_MM" default="1.5" type="FLOAT">
      <short_desc>Airspeed sensor tube diameter. Only used for the Tube Pressure Drop Compensation</short_desc>
      <min>1.5</min>
      <max>100</max>
      <unit>mm</unit>
    </parameter>
    <parameter name="CAL_AIR_TUBELEN" default="0.2" type="FLOAT">
      <short_desc>Airspeed sensor tube length</short_desc>
      <long_desc>See the CAL_AIR_CMODEL explanation on how this parameter should be set.</long_desc>
      <min>0.01</min>
      <max>2.00</max>
      <unit>m</unit>
    </parameter>
    <parameter name="CAL_MAG_SIDES" default="63" type="INT32" category="Developer">
      <short_desc>For legacy QGC support only</short_desc>
      <long_desc>Use SENS_MAG_SIDES instead</long_desc>
    </parameter>
    <parameter name="IMU_ACCEL_CUTOFF" default="30.0" type="FLOAT">
      <short_desc>Low pass filter cutoff frequency for accel</short_desc>
      <long_desc>The cutoff frequency for the 2nd order butterworth filter on the primary accelerometer. This only affects the signal sent to the controllers, not the estimators. 0 disables the filter.</long_desc>
      <min>0</min>
      <max>1000</max>
      <unit>Hz</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="IMU_DGYRO_CUTOFF" default="30.0" type="FLOAT">
      <short_desc>Cutoff frequency for angular acceleration (D-Term filter)</short_desc>
      <long_desc>The cutoff frequency for the 2nd order butterworth filter used on the time derivative of the measured angular velocity, also known as the D-term filter in the rate controller. The D-term uses the derivative of the rate and thus is the most susceptible to noise. Therefore, using a D-term filter allows to increase IMU_GYRO_CUTOFF, which leads to reduced control latency and permits to increase the P gains. A value of 0 disables the filter.</long_desc>
      <min>0</min>
      <max>1000</max>
      <unit>Hz</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="IMU_GYRO_CAL_EN" default="1" type="INT32" boolean="true">
      <short_desc>IMU gyro auto calibration enable</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="IMU_GYRO_CUTOFF" default="40.0" type="FLOAT">
      <short_desc>Low pass filter cutoff frequency for gyro</short_desc>
      <long_desc>The cutoff frequency for the 2nd order butterworth filter on the primary gyro. This only affects the angular velocity sent to the controllers, not the estimators. It applies also to the angular acceleration (D-Term filter), see IMU_DGYRO_CUTOFF. A value of 0 disables the filter.</long_desc>
      <min>0</min>
      <max>1000</max>
      <unit>Hz</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="IMU_GYRO_DNF_BW" default="15." type="FLOAT">
      <short_desc>IMU gyro ESC notch filter bandwidth</short_desc>
      <long_desc>Bandwidth per notch filter when using dynamic notch filtering with ESC RPM.</long_desc>
      <min>5</min>
      <max>30</max>
      <unit>Hz</unit>
    </parameter>
    <parameter name="IMU_GYRO_DNF_EN" default="0" type="INT32">
      <short_desc>IMU gyro dynamic notch filtering</short_desc>
      <long_desc>Enable bank of dynamically updating notch filters. Requires ESC RPM feedback or onboard FFT (IMU_GYRO_FFT_EN).</long_desc>
      <min>0</min>
      <max>3</max>
      <bitmask>
        <bit index="0">ESC RPM</bit>
        <bit index="1">FFT</bit>
      </bitmask>
    </parameter>
    <parameter name="IMU_GYRO_DNF_HMC" default="3" type="INT32">
      <short_desc>IMU gyro dynamic notch filter harmonics</short_desc>
      <long_desc>ESC RPM number of harmonics (multiples of RPM) for ESC RPM dynamic notch filtering.</long_desc>
      <min>1</min>
      <max>7</max>
    </parameter>
    <parameter name="IMU_GYRO_DNF_MIN" default="25." type="FLOAT">
      <short_desc>IMU gyro dynamic notch filter minimum frequency</short_desc>
      <long_desc>Minimum notch filter frequency in Hz.</long_desc>
      <unit>Hz</unit>
    </parameter>
    <parameter name="IMU_GYRO_FFT_EN" default="0" type="INT32" boolean="true">
      <short_desc>IMU gyro FFT enable</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="IMU_GYRO_FFT_LEN" default="512" type="INT32">
      <short_desc>IMU gyro FFT length</short_desc>
      <unit>Hz</unit>
      <reboot_required>true</reboot_required>
      <values>
        <value code="256">256</value>
        <value code="512">512</value>
        <value code="1024">1024</value>
        <value code="4096">4096</value>
      </values>
    </parameter>
    <parameter name="IMU_GYRO_FFT_MAX" default="150." type="FLOAT">
      <short_desc>IMU gyro FFT maximum frequency</short_desc>
      <min>1</min>
      <max>1000</max>
      <unit>Hz</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="IMU_GYRO_FFT_MIN" default="30." type="FLOAT">
      <short_desc>IMU gyro FFT minimum frequency</short_desc>
      <min>1</min>
      <max>1000</max>
      <unit>Hz</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="IMU_GYRO_FFT_SNR" default="10." type="FLOAT">
      <short_desc>IMU gyro FFT SNR</short_desc>
      <min>1</min>
      <max>30</max>
    </parameter>
    <parameter name="IMU_GYRO_NF0_BW" default="20.0" type="FLOAT">
      <short_desc>Notch filter bandwidth for gyro</short_desc>
      <long_desc>The frequency width of the stop band for the 2nd order notch filter on the primary gyro. See "IMU_GYRO_NF0_FRQ" to activate the filter and to set the notch frequency. Applies to both angular velocity and angular acceleration sent to the controllers.</long_desc>
      <min>0</min>
      <max>100</max>
      <unit>Hz</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="IMU_GYRO_NF0_FRQ" default="0.0" type="FLOAT">
      <short_desc>Notch filter frequency for gyro</short_desc>
      <long_desc>The center frequency for the 2nd order notch filter on the primary gyro. This filter can be enabled to avoid feedback amplification of structural resonances at a specific frequency. This only affects the signal sent to the controllers, not the estimators. Applies to both angular velocity and angular acceleration sent to the controllers. See "IMU_GYRO_NF0_BW" to set the bandwidth of the filter. A value of 0 disables the filter.</long_desc>
      <min>0</min>
      <max>1000</max>
      <unit>Hz</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="IMU_GYRO_NF1_BW" default="20.0" type="FLOAT">
      <short_desc>Notch filter 1 bandwidth for gyro</short_desc>
      <long_desc>The frequency width of the stop band for the 2nd order notch filter on the primary gyro. See "IMU_GYRO_NF1_FRQ" to activate the filter and to set the notch frequency. Applies to both angular velocity and angular acceleration sent to the controllers.</long_desc>
      <min>0</min>
      <max>100</max>
      <unit>Hz</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="IMU_GYRO_NF1_FRQ" default="0.0" type="FLOAT">
      <short_desc>Notch filter 2 frequency for gyro</short_desc>
      <long_desc>The center frequency for the 2nd order notch filter on the primary gyro. This filter can be enabled to avoid feedback amplification of structural resonances at a specific frequency. This only affects the signal sent to the controllers, not the estimators. Applies to both angular velocity and angular acceleration sent to the controllers. See "IMU_GYRO_NF1_BW" to set the bandwidth of the filter. A value of 0 disables the filter.</long_desc>
      <min>0</min>
      <max>1000</max>
      <unit>Hz</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="IMU_GYRO_RATEMAX" default="400" type="INT32">
      <short_desc>Gyro control data maximum publication rate (inner loop rate)</short_desc>
      <long_desc>The maximum rate the gyro control data (vehicle_angular_velocity) will be allowed to publish at. This is the loop rate for the rate controller and outputs. Note: sensor data is always read and filtered at the full raw rate (eg commonly 8 kHz) regardless of this setting.</long_desc>
      <min>100</min>
      <max>2000</max>
      <unit>Hz</unit>
      <reboot_required>true</reboot_required>
      <values>
        <value code="100">100 Hz</value>
        <value code="250">250 Hz</value>
        <value code="400">400 Hz</value>
        <value code="800">800 Hz</value>
        <value code="1000">1000 Hz</value>
        <value code="2000">2000 Hz</value>
      </values>
    </parameter>
    <parameter name="IMU_INTEG_RATE" default="200" type="INT32">
      <short_desc>IMU integration rate</short_desc>
      <long_desc>The rate at which raw IMU data is integrated to produce delta angles and delta velocities. Recommended to set this to a multiple of the estimator update period (currently 10 ms for ekf2).</long_desc>
      <min>100</min>
      <max>1000</max>
      <unit>Hz</unit>
      <reboot_required>true</reboot_required>
      <values>
        <value code="100">100 Hz</value>
        <value code="200">200 Hz</value>
        <value code="250">250 Hz</value>
        <value code="400">400 Hz</value>
      </values>
    </parameter>
    <parameter name="INA220_CONFIG" default="8607" type="INT32">
      <short_desc>INA220 Power Monitor Config</short_desc>
      <min>0</min>
      <max>65535</max>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="INA220_CUR_BAT" default="164.0" type="FLOAT">
      <short_desc>INA220 Power Monitor Battery Max Current</short_desc>
      <min>0.1</min>
      <max>500.0</max>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="INA220_CUR_REG" default="164.0" type="FLOAT">
      <short_desc>INA220 Power Monitor Regulator Max Current</short_desc>
      <min>0.1</min>
      <max>500.0</max>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="INA220_SHUNT_BAT" default="0.0005" type="FLOAT">
      <short_desc>INA220 Power Monitor Battery Shunt</short_desc>
      <min>0.000000001</min>
      <max>0.1</max>
      <decimal>10</decimal>
      <increment>.000000001</increment>
    </parameter>
    <parameter name="INA220_SHUNT_REG" default="0.0005" type="FLOAT">
      <short_desc>INA220 Power Monitor Regulator Shunt</short_desc>
      <min>0.000000001</min>
      <max>0.1</max>
      <decimal>10</decimal>
      <increment>.000000001</increment>
    </parameter>
    <parameter name="INA226_CONFIG" default="18139" type="INT32">
      <short_desc>INA226 Power Monitor Config</short_desc>
      <min>0</min>
      <max>65535</max>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="INA226_CURRENT" default="164.0" type="FLOAT">
      <short_desc>INA226 Power Monitor Max Current</short_desc>
      <min>0.1</min>
      <max>200.0</max>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="INA226_SHUNT" default="0.0005" type="FLOAT">
      <short_desc>INA226 Power Monitor Shunt</short_desc>
      <min>0.000000001</min>
      <max>0.1</max>
      <decimal>10</decimal>
      <increment>.000000001</increment>
    </parameter>
    <parameter name="INA228_CONFIG" default="63779" type="INT32">
      <short_desc>INA228 Power Monitor Config</short_desc>
      <min>0</min>
      <max>65535</max>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="INA228_CURRENT" default="327.68" type="FLOAT">
      <short_desc>INA228 Power Monitor Max Current</short_desc>
      <min>0.1</min>
      <max>327.68</max>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="INA228_SHUNT" default="0.0005" type="FLOAT">
      <short_desc>INA228 Power Monitor Shunt</short_desc>
      <min>0.000000001</min>
      <max>0.1</max>
      <decimal>10</decimal>
      <increment>.000000001</increment>
    </parameter>
    <parameter name="INA238_CURRENT" default="327.68" type="FLOAT">
      <short_desc>INA238 Power Monitor Max Current</short_desc>
      <min>0.1</min>
      <max>327.68</max>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="INA238_SHUNT" default="0.0003" type="FLOAT">
      <short_desc>INA238 Power Monitor Shunt</short_desc>
      <min>0.000000001</min>
      <max>0.1</max>
      <decimal>10</decimal>
      <increment>.000000001</increment>
    </parameter>
    <parameter name="PCF8583_MAGNET" default="2" type="INT32">
      <short_desc>PCF8583 rotorfreq (i2c) pulse count</short_desc>
      <long_desc>Nmumber of signals per rotation of actuator</long_desc>
      <min>1</min>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="PCF8583_POOL" default="1000000" type="INT32">
      <short_desc>PCF8583 rotorfreq (i2c) pool interval</short_desc>
      <long_desc>Determines how often the sensor is read out.</long_desc>
      <unit>us</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="PCF8583_RESET" default="500000" type="INT32">
      <short_desc>PCF8583 rotorfreq (i2c) pulse reset value</short_desc>
      <long_desc>Internal device counter is reset to 0 when overrun this value, counter is able to store up to 6 digits reset of counter takes some time - measurement with reset has worse accuracy. 0 means reset counter after every measurement.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_BARO_QNH" default="1013.25" type="FLOAT">
      <short_desc>QNH for barometer</short_desc>
      <min>500</min>
      <max>1500</max>
      <unit>hPa</unit>
    </parameter>
    <parameter name="SENS_BARO_RATE" default="20.0" type="FLOAT">
      <short_desc>Baro max rate</short_desc>
      <long_desc>Barometric air data maximum publication rate. This is an upper bound, actual barometric data rate is still dependent on the sensor.</long_desc>
      <min>1</min>
      <max>200</max>
      <unit>Hz</unit>
    </parameter>
    <parameter name="SENS_BOARD_ROT" default="0" type="INT32">
      <short_desc>Board rotation</short_desc>
      <long_desc>This parameter defines the rotation of the FMU board relative to the platform.</long_desc>
      <min>-1</min>
      <max>40</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
        <value code="8">Roll 180°</value>
        <value code="9">Roll 180°, Yaw 45°</value>
        <value code="10">Roll 180°, Yaw 90°</value>
        <value code="11">Roll 180°, Yaw 135°</value>
        <value code="12">Pitch 180°</value>
        <value code="13">Roll 180°, Yaw 225°</value>
        <value code="14">Roll 180°, Yaw 270°</value>
        <value code="15">Roll 180°, Yaw 315°</value>
        <value code="16">Roll 90°</value>
        <value code="17">Roll 90°, Yaw 45°</value>
        <value code="18">Roll 90°, Yaw 90°</value>
        <value code="19">Roll 90°, Yaw 135°</value>
        <value code="20">Roll 270°</value>
        <value code="21">Roll 270°, Yaw 45°</value>
        <value code="22">Roll 270°, Yaw 90°</value>
        <value code="23">Roll 270°, Yaw 135°</value>
        <value code="24">Pitch 90°</value>
        <value code="25">Pitch 270°</value>
        <value code="26">Pitch 180°, Yaw 90°</value>
        <value code="27">Pitch 180°, Yaw 270°</value>
        <value code="28">Roll 90°, Pitch 90°</value>
        <value code="29">Roll 180°, Pitch 90°</value>
        <value code="30">Roll 270°, Pitch 90°</value>
        <value code="31">Roll 90°, Pitch 180°</value>
        <value code="32">Roll 270°, Pitch 180°</value>
        <value code="33">Roll 90°, Pitch 270°</value>
        <value code="34">Roll 180°, Pitch 270°</value>
        <value code="35">Roll 270°, Pitch 270°</value>
        <value code="36">Roll 90°, Pitch 180°, Yaw 90°</value>
        <value code="37">Roll 90°, Yaw 270°</value>
        <value code="38">Roll 90°, Pitch 68°, Yaw 293°</value>
        <value code="39">Pitch 315°</value>
        <value code="40">Roll 90°, Pitch 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_BOARD_X_OFF" default="0.0" type="FLOAT">
      <short_desc>Board rotation X (Roll) offset</short_desc>
      <long_desc>This parameter defines a rotational offset in degrees around the X (Roll) axis It allows the user to fine tune the board offset in the event of misalignment.</long_desc>
      <unit>deg</unit>
    </parameter>
    <parameter name="SENS_BOARD_Y_OFF" default="0.0" type="FLOAT">
      <short_desc>Board rotation Y (Pitch) offset</short_desc>
      <long_desc>This parameter defines a rotational offset in degrees around the Y (Pitch) axis. It allows the user to fine tune the board offset in the event of misalignment.</long_desc>
      <unit>deg</unit>
    </parameter>
    <parameter name="SENS_BOARD_Z_OFF" default="0.0" type="FLOAT">
      <short_desc>Board rotation Z (YAW) offset</short_desc>
      <long_desc>This parameter defines a rotational offset in degrees around the Z (Yaw) axis. It allows the user to fine tune the board offset in the event of misalignment.</long_desc>
      <unit>deg</unit>
    </parameter>
    <parameter name="SENS_EN_ADIS164X" default="0" type="INT32">
      <short_desc>Analog Devices ADIS16448 IMU (external SPI)</short_desc>
      <min>0</min>
      <max>1</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Enabled</value>
      </values>
    </parameter>
    <parameter name="SENS_EN_ADIS165X" default="0" type="INT32" boolean="true">
      <short_desc>Analog Devices ADIS16507 IMU (external SPI)</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_ARSPDSIM" default="0" type="INT32">
      <short_desc>Enable simulated airspeed sensor instance</short_desc>
      <min>0</min>
      <max>1</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Enabled</value>
      </values>
    </parameter>
    <parameter name="SENS_EN_BAROSIM" default="0" type="INT32">
      <short_desc>Enable simulated barometer sensor instance</short_desc>
      <min>0</min>
      <max>1</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Enabled</value>
      </values>
    </parameter>
    <parameter name="SENS_EN_BATT" default="0" type="INT32" boolean="true">
      <short_desc>SMBUS Smart battery driver BQ40Z50 and BQ40Z80</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_ETSASPD" default="0" type="INT32" boolean="true">
      <short_desc>Eagle Tree airspeed sensor (external I2C)</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_GPSSIM" default="0" type="INT32">
      <short_desc>Enable simulated GPS sinstance</short_desc>
      <min>0</min>
      <max>1</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Enabled</value>
      </values>
    </parameter>
    <parameter name="SENS_EN_INA220" default="0" type="INT32" boolean="true">
      <short_desc>Enable INA220 Power Monitor</short_desc>
      <long_desc>For systems a INA220 Power Monitor, this should be set to true</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_INA226" default="0" type="INT32" boolean="true">
      <short_desc>Enable INA226 Power Monitor</short_desc>
      <long_desc>For systems a INA226 Power Monitor, this should be set to true</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_INA228" default="0" type="INT32" boolean="true">
      <short_desc>Enable INA228 Power Monitor</short_desc>
      <long_desc>For systems a INA228 Power Monitor, this should be set to true</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_INA238" default="0" type="INT32" boolean="true">
      <short_desc>Enable INA238 Power Monitor</short_desc>
      <long_desc>For systems a INA238 Power Monitor, this should be set to true</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_IRLOCK" default="0" type="INT32" boolean="true">
      <short_desc>IR-LOCK Sensor (external I2C)</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_LL40LS" default="0" type="INT32">
      <short_desc>Lidar-Lite (LL40LS)</short_desc>
      <min>0</min>
      <max>2</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">PWM</value>
        <value code="2">I2C</value>
      </values>
    </parameter>
    <parameter name="SENS_EN_MAGSIM" default="0" type="INT32">
      <short_desc>Enable simulated magnetometer sensor instance</short_desc>
      <min>0</min>
      <max>1</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Enabled</value>
      </values>
    </parameter>
    <parameter name="SENS_EN_MB12XX" default="0" type="INT32" boolean="true">
      <short_desc>Maxbotix Sonar (mb12xx)</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_MPDT" default="0" type="INT32">
      <short_desc>Enable Mappydot rangefinder (i2c)</short_desc>
      <min>0</min>
      <max>1</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Autodetect</value>
      </values>
    </parameter>
    <parameter name="SENS_EN_MS4515" default="0" type="INT32" boolean="true">
      <short_desc>TE MS4515 differential pressure sensor (external I2C)</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_MS4525DO" default="0" type="INT32" boolean="true">
      <short_desc>TE MS4525DO differential pressure sensor (external I2C)</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_MS5525DS" default="0" type="INT32" boolean="true">
      <short_desc>TE MS5525DSO differential pressure sensor (external I2C)</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_PAA3905" default="0" type="INT32" boolean="true">
      <short_desc>PAA3905 Optical Flow</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_PAW3902" default="0" type="INT32" boolean="true">
      <short_desc>PAW3902/PAW3903 Optical Flow</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_PCF8583" default="0" type="INT32">
      <short_desc>PCF8583 eneable driver</short_desc>
      <long_desc>Run PCF8583 driver automatically</long_desc>
      <min>0</min>
      <max>1</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Eneabled</value>
      </values>
    </parameter>
    <parameter name="SENS_EN_PGA460" default="0" type="INT32" boolean="true">
      <short_desc>PGA460 Ultrasonic driver (PGA460)</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_PMW3901" default="0" type="INT32" boolean="true">
      <short_desc>PMW3901 Optical Flow</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_PX4FLOW" default="0" type="INT32" boolean="true">
      <short_desc>PX4 Flow Optical Flow</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_SDP3X" default="0" type="INT32" boolean="true">
      <short_desc>Sensirion SDP3X differential pressure sensor (external I2C)</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_SF0X" default="1" type="INT32">
      <short_desc>Lightware Laser Rangefinder hardware model (serial)</short_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="1">SF02</value>
        <value code="2">SF10/a</value>
        <value code="3">SF10/b</value>
        <value code="4">SF10/c</value>
        <value code="5">SF11/c</value>
        <value code="6">SF30/b</value>
        <value code="7">SF30/c</value>
        <value code="8">LW20/c</value>
      </values>
    </parameter>
    <parameter name="SENS_EN_SF1XX" default="0" type="INT32">
      <short_desc>Lightware SF1xx/SF20/LW20 laser rangefinder (i2c)</short_desc>
      <min>0</min>
      <max>6</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">SF10/a</value>
        <value code="2">SF10/b</value>
        <value code="3">SF10/c</value>
        <value code="4">SF11/c</value>
        <value code="5">SF/LW20/b</value>
        <value code="6">SF/LW20/c</value>
      </values>
    </parameter>
    <parameter name="SENS_EN_SHT3X" default="0" type="INT32" boolean="true">
      <short_desc>SHT3x temperature and hygrometer</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_SPL06" default="0" type="INT32" boolean="true">
      <short_desc>Goertek SPL06 Barometer (external I2C)</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_SR05" default="0" type="INT32" boolean="true">
      <short_desc>HY-SRF05 / HC-SR05</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_TF02PRO" default="0" type="INT32" boolean="true">
      <short_desc>TF02 Pro Distance Sensor (i2c)</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_THERMAL" default="-1" type="INT32" category="System">
      <short_desc>Thermal control of sensor temperature</short_desc>
      <values>
        <value code="-1">Thermal control unavailable</value>
        <value code="0">Thermal control off</value>
        <value code="1">Thermal control enabled</value>
      </values>
    </parameter>
    <parameter name="SENS_EN_TRANGER" default="0" type="INT32">
      <short_desc>TeraRanger Rangefinder (i2c)</short_desc>
      <min>0</min>
      <max>3</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Autodetect</value>
        <value code="2">TROne</value>
        <value code="3">TREvo60m</value>
        <value code="4">TREvo600Hz</value>
        <value code="5">TREvo3m</value>
      </values>
    </parameter>
    <parameter name="SENS_EN_VL53L0X" default="0" type="INT32" boolean="true">
      <short_desc>VL53L0X Distance Sensor</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EN_VL53L1X" default="0" type="INT32" boolean="true">
      <short_desc>VL53L1X Distance Sensor</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_EXT_I2C_PRB" default="1" type="INT32" boolean="true" category="System">
      <short_desc>External I2C probe</short_desc>
      <long_desc>Probe for optional external I2C devices.</long_desc>
    </parameter>
    <parameter name="SENS_FLOW_RATE" default="70.0" type="FLOAT">
      <short_desc>Optical flow max rate</short_desc>
      <long_desc>Optical flow data maximum publication rate. This is an upper bound, actual optical flow data rate is still dependent on the sensor.</long_desc>
      <min>1</min>
      <max>200</max>
      <unit>Hz</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_FLOW_ROT" default="0" type="INT32">
      <short_desc>Optical flow rotation</short_desc>
      <long_desc>This parameter defines the yaw rotation of the optical flow relative to the vehicle body frame. Zero rotation is defined as X on flow board pointing towards front of vehicle.</long_desc>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_GPS_MASK" default="7" type="INT32">
      <short_desc>Multi GPS Blending Control Mask</short_desc>
      <long_desc>Set bits in the following positions to set which GPS accuracy metrics will be used to calculate the blending weight. Set to zero to disable and always used first GPS instance. 0 : Set to true to use speed accuracy 1 : Set to true to use horizontal position accuracy 2 : Set to true to use vertical position accuracy</long_desc>
      <min>0</min>
      <max>7</max>
      <bitmask>
        <bit index="0">use speed accuracy</bit>
        <bit index="1">use hpos accuracy</bit>
        <bit index="2">use vpos accuracy</bit>
      </bitmask>
    </parameter>
    <parameter name="SENS_GPS_PRIME" default="0" type="INT32">
      <short_desc>Multi GPS primary instance</short_desc>
      <long_desc>When no blending is active, this defines the preferred GPS receiver instance. The GPS selection logic waits until the primary receiver is available to send data to the EKF even if a secondary instance is already available. The secondary instance is then only used if the primary one times out. To have an equal priority of all the instances, set this parameter to -1 and the best receiver will be used. This parameter has no effect if blending is active.</long_desc>
      <min>-1</min>
      <max>1</max>
    </parameter>
    <parameter name="SENS_GPS_TAU" default="10.0" type="FLOAT">
      <short_desc>Multi GPS Blending Time Constant</short_desc>
      <long_desc>Sets the longest time constant that will be applied to the calculation of GPS position and height offsets used to correct data from multiple GPS data for steady state position differences.</long_desc>
      <min>1.0</min>
      <max>100.0</max>
      <unit>s</unit>
      <decimal>1</decimal>
    </parameter>
    <parameter name="SENS_IMU_AUTOCAL" default="1" type="INT32" boolean="true" category="System">
      <short_desc>IMU auto calibration</short_desc>
      <long_desc>Automatically initialize IMU (accel/gyro) calibration from bias estimates if available.</long_desc>
    </parameter>
    <parameter name="SENS_IMU_MODE" default="1" type="INT32" category="System">
      <short_desc>Sensors hub IMU mode</short_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Publish primary IMU selection</value>
      </values>
    </parameter>
    <parameter name="SENS_IMU_TEMP" default="55.0" type="FLOAT" category="System">
      <short_desc>Target IMU temperature</short_desc>
      <min>0</min>
      <max>85.0</max>
      <unit>celcius</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="SENS_IMU_TEMP_FF" default="0.05" type="FLOAT" category="System">
      <short_desc>IMU heater controller feedforward value</short_desc>
      <min>0</min>
      <max>1.0</max>
      <unit>%</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="SENS_IMU_TEMP_I" default="0.025" type="FLOAT" category="System">
      <short_desc>IMU heater controller integrator gain value</short_desc>
      <min>0</min>
      <max>1.0</max>
      <unit>us/C</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="SENS_IMU_TEMP_P" default="1.0" type="FLOAT" category="System">
      <short_desc>IMU heater controller proportional gain value</short_desc>
      <min>0</min>
      <max>2.0</max>
      <unit>us/C</unit>
      <decimal>3</decimal>
    </parameter>
    <parameter name="SENS_INT_BARO_EN" default="1" type="INT32" boolean="true" category="System">
      <short_desc>Enable internal barometers</short_desc>
      <long_desc>For systems with an external barometer, this should be set to false to make sure that the external is used.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_MAG_AUTOCAL" default="1" type="INT32" boolean="true" category="System">
      <short_desc>Magnetometer auto calibration</short_desc>
      <long_desc>Automatically initialize magnetometer calibration from bias estimate if available.</long_desc>
    </parameter>
    <parameter name="SENS_MAG_AUTOROT" default="1" type="INT32" boolean="true">
      <short_desc>Automatically set external rotations</short_desc>
      <long_desc>During calibration attempt to automatically determine the rotation of external magnetometers.</long_desc>
    </parameter>
    <parameter name="SENS_MAG_MODE" default="1" type="INT32" category="System">
      <short_desc>Sensors hub mag mode</short_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Publish all magnetometers</value>
        <value code="1">Publish primary magnetometer</value>
      </values>
    </parameter>
    <parameter name="SENS_MAG_RATE" default="15.0" type="FLOAT">
      <short_desc>Magnetometer max rate</short_desc>
      <long_desc>Magnetometer data maximum publication rate. This is an upper bound, actual magnetometer data rate is still dependent on the sensor.</long_desc>
      <min>1</min>
      <max>200</max>
      <unit>Hz</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SENS_MAG_SIDES" default="63" type="INT32">
      <short_desc>Bitfield selecting mag sides for calibration</short_desc>
      <long_desc>If set to two side calibration, only the offsets are estimated, the scale calibration is left unchanged. Thus an initial six side calibration is recommended. Bits: ORIENTATION_TAIL_DOWN = 1 ORIENTATION_NOSE_DOWN = 2 ORIENTATION_LEFT = 4 ORIENTATION_RIGHT = 8 ORIENTATION_UPSIDE_DOWN = 16 ORIENTATION_RIGHTSIDE_UP = 32</long_desc>
      <min>34</min>
      <max>63</max>
      <values>
        <value code="34">Two side calibration</value>
        <value code="38">Three side calibration</value>
        <value code="63">Six side calibration</value>
      </values>
    </parameter>
    <parameter name="SENS_MB12_0_ROT" default="0" type="INT32">
      <short_desc>MaxBotix MB12XX Sensor 0 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MB12_10_ROT" default="0" type="INT32">
      <short_desc>MaxBotix MB12XX Sensor 10 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MB12_11_ROT" default="0" type="INT32">
      <short_desc>MaxBotix MB12XX Sensor 12 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MB12_1_ROT" default="0" type="INT32">
      <short_desc>MaxBotix MB12XX Sensor 1 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MB12_2_ROT" default="0" type="INT32">
      <short_desc>MaxBotix MB12XX Sensor 2 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MB12_3_ROT" default="0" type="INT32">
      <short_desc>MaxBotix MB12XX Sensor 3 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MB12_4_ROT" default="0" type="INT32">
      <short_desc>MaxBotix MB12XX Sensor 4 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MB12_5_ROT" default="0" type="INT32">
      <short_desc>MaxBotix MB12XX Sensor 5 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MB12_6_ROT" default="0" type="INT32">
      <short_desc>MaxBotix MB12XX Sensor 6 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MB12_7_ROT" default="0" type="INT32">
      <short_desc>MaxBotix MB12XX Sensor 7 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MB12_8_ROT" default="0" type="INT32">
      <short_desc>MaxBotix MB12XX Sensor 8 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MB12_9_ROT" default="0" type="INT32">
      <short_desc>MaxBotix MB12XX Sensor 9 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MPDT0_ROT" default="0" type="INT32">
      <short_desc>MappyDot Sensor 0 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the Mappydot sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MPDT10_ROT" default="0" type="INT32">
      <short_desc>MappyDot Sensor 10 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the Mappydot sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MPDT11_ROT" default="0" type="INT32">
      <short_desc>MappyDot Sensor 12 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the Mappydot sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MPDT1_ROT" default="0" type="INT32">
      <short_desc>MappyDot Sensor 1 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the Mappydot sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MPDT2_ROT" default="0" type="INT32">
      <short_desc>MappyDot Sensor 2 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the Mappydot sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MPDT3_ROT" default="0" type="INT32">
      <short_desc>MappyDot Sensor 3 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the Mappydot sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MPDT4_ROT" default="0" type="INT32">
      <short_desc>MappyDot Sensor 4 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the Mappydot sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MPDT5_ROT" default="0" type="INT32">
      <short_desc>MappyDot Sensor 5 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the Mappydot sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MPDT6_ROT" default="0" type="INT32">
      <short_desc>MappyDot Sensor 6 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the Mappydot sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MPDT7_ROT" default="0" type="INT32">
      <short_desc>MappyDot Sensor 7 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the Mappydot sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MPDT8_ROT" default="0" type="INT32">
      <short_desc>MappyDot Sensor 8 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the Mappydot sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_MPDT9_ROT" default="0" type="INT32">
      <short_desc>MappyDot Sensor 9 Rotation</short_desc>
      <long_desc>This parameter defines the rotation of the Mappydot sensor relative to the platform.</long_desc>
      <min>0</min>
      <max>7</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">No rotation</value>
        <value code="1">Yaw 45°</value>
        <value code="2">Yaw 90°</value>
        <value code="3">Yaw 135°</value>
        <value code="4">Yaw 180°</value>
        <value code="5">Yaw 225°</value>
        <value code="6">Yaw 270°</value>
        <value code="7">Yaw 315°</value>
      </values>
    </parameter>
    <parameter name="SENS_OR_ADIS164X" default="0" type="INT32">
      <short_desc>Analog Devices ADIS16448 IMU Orientation(external SPI)</short_desc>
      <min>0</min>
      <max>101</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">ROTATION_NONE</value>
        <value code="4">ROTATION_YAW_180</value>
      </values>
    </parameter>
    <parameter name="SENS_TEMP_ID" default="0" type="INT32" category="System">
      <short_desc>Target IMU device ID to regulate temperature</short_desc>
    </parameter>
    <parameter name="SIM_ARSPD_FAIL" default="0" type="INT32">
      <short_desc>Dynamically simulate failure of airspeed sensor instance</short_desc>
      <min>0</min>
      <max>1</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Enabled</value>
      </values>
    </parameter>
    <parameter name="VOXLPM_SHUNT_BAT" default="0.00063" type="FLOAT">
      <short_desc>VOXL Power Monitor Shunt, Battery</short_desc>
      <min>0.000000001</min>
      <max>0.1</max>
      <decimal>10</decimal>
      <increment>.000000001</increment>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="VOXLPM_SHUNT_REG" default="0.0056" type="FLOAT">
      <short_desc>VOXL Power Monitor Shunt, Regulator</short_desc>
      <min>0.000000001</min>
      <max>0.1</max>
      <decimal>10</decimal>
      <increment>.000000001</increment>
      <reboot_required>true</reboot_required>
    </parameter>
  </group>
  <group name="Serial">
    <parameter name="SER_MXS_BAUD" default="5" type="INT32">
      <short_desc>MXS Serial Communication Baud rate</short_desc>
      <long_desc>Baudrate for the Serial Port connected to the MXS Transponder</long_desc>
      <min>0</min>
      <max>10</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">38400</value>
        <value code="1">600</value>
        <value code="2">4800</value>
        <value code="3">9600</value>
        <value code="4">RESERVED</value>
        <value code="5">57600</value>
        <value code="6">115200</value>
        <value code="7">230400</value>
        <value code="8">19200</value>
        <value code="9">460800</value>
        <value code="10">921600</value>
      </values>
    </parameter>
  </group>
  <group name="Simulation In Hardware">
    <parameter name="SIH_DISTSNSR_MAX" default="100.0" type="FLOAT">
      <short_desc>distance sensor maximum range</short_desc>
      <min>0.0</min>
      <max>1000.0</max>
      <unit>m</unit>
      <decimal>4</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="SIH_DISTSNSR_MIN" default="0.0" type="FLOAT">
      <short_desc>distance sensor minimum range</short_desc>
      <min>0.0</min>
      <max>10.0</max>
      <unit>m</unit>
      <decimal>4</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="SIH_DISTSNSR_OVR" default="-1.0" type="FLOAT">
      <short_desc>if &gt;= 0 the distance sensor measures will be overridden by this value</short_desc>
      <long_desc>Absolute value superior to 10000 will disable distance sensor</long_desc>
      <unit>m</unit>
    </parameter>
    <parameter name="SIH_IXX" default="0.025" type="FLOAT">
      <short_desc>Vehicle inertia about X axis</short_desc>
      <long_desc>The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.</long_desc>
      <min>0.0</min>
      <unit>kg m^2</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="SIH_IXY" default="0.0" type="FLOAT">
      <short_desc>Vehicle cross term inertia xy</short_desc>
      <long_desc>The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.</long_desc>
      <unit>kg m^2</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="SIH_IXZ" default="0.0" type="FLOAT">
      <short_desc>Vehicle cross term inertia xz</short_desc>
      <long_desc>The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.</long_desc>
      <unit>kg m^2</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="SIH_IYY" default="0.025" type="FLOAT">
      <short_desc>Vehicle inertia about Y axis</short_desc>
      <long_desc>The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.</long_desc>
      <min>0.0</min>
      <unit>kg m^2</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="SIH_IYZ" default="0.0" type="FLOAT">
      <short_desc>Vehicle cross term inertia yz</short_desc>
      <long_desc>The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.</long_desc>
      <unit>kg m^2</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="SIH_IZZ" default="0.030" type="FLOAT">
      <short_desc>Vehicle inertia about Z axis</short_desc>
      <long_desc>The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.</long_desc>
      <min>0.0</min>
      <unit>kg m^2</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="SIH_KDV" default="1.0" type="FLOAT">
      <short_desc>First order drag coefficient</short_desc>
      <long_desc>Physical coefficient representing the friction with air particules. The greater this value, the slower the quad will move. Drag force function of velocity: D=-KDV*V. The maximum freefall velocity can be computed as V=10*MASS/KDV [m/s]</long_desc>
      <min>0.0</min>
      <unit>N/(m/s)</unit>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="SIH_KDW" default="0.025" type="FLOAT">
      <short_desc>First order angular damper coefficient</short_desc>
      <long_desc>Physical coefficient representing the friction with air particules during rotations. The greater this value, the slower the quad will rotate. Aerodynamic moment function of body rate: Ma=-KDW*W_B. This value can be set to 0 if unknown.</long_desc>
      <min>0.0</min>
      <unit>Nm/(rad/s)</unit>
      <decimal>3</decimal>
      <increment>0.005</increment>
    </parameter>
    <parameter name="SIH_LOC_H0" default="32.34" type="FLOAT">
      <short_desc>Initial AMSL ground altitude</short_desc>
      <long_desc>This value represents the Above Mean Sea Level (AMSL) altitude where the simulation begins. If using FlightGear as a visual animation, this value can be tweaked such that the vehicle lies on the ground at takeoff. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.</long_desc>
      <min>-420.0</min>
      <max>8848.0</max>
      <unit>m</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="SIH_LOC_LAT0" default="454671160" type="INT32">
      <short_desc>Initial geodetic latitude</short_desc>
      <long_desc>This value represents the North-South location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.</long_desc>
      <min>-850000000</min>
      <max>850000000</max>
      <unit>deg*1e7</unit>
    </parameter>
    <parameter name="SIH_LOC_LON0" default="-737578370" type="INT32">
      <short_desc>Initial geodetic longitude</short_desc>
      <long_desc>This value represents the East-West location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.</long_desc>
      <min>-1800000000</min>
      <max>1800000000</max>
      <unit>deg*1e7</unit>
    </parameter>
    <parameter name="SIH_L_PITCH" default="0.2" type="FLOAT">
      <short_desc>Pitch arm length</short_desc>
      <long_desc>This is the arm length generating the pitching moment This value can be measured with a ruler. This corresponds to half the distance between the front and rear motors.</long_desc>
      <min>0.0</min>
      <unit>m</unit>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="SIH_L_ROLL" default="0.2" type="FLOAT">
      <short_desc>Roll arm length</short_desc>
      <long_desc>This is the arm length generating the rolling moment This value can be measured with a ruler. This corresponds to half the distance between the left and right motors.</long_desc>
      <min>0.0</min>
      <unit>m</unit>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="SIH_MASS" default="1.0" type="FLOAT">
      <short_desc>Vehicle mass</short_desc>
      <long_desc>This value can be measured by weighting the quad on a scale.</long_desc>
      <min>0.0</min>
      <unit>kg</unit>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="SIH_Q_MAX" default="0.1" type="FLOAT">
      <short_desc>Max propeller torque</short_desc>
      <long_desc>This is the maximum torque delivered by one propeller when the motor is running at full speed. This value is usually about few percent of the maximum thrust force.</long_desc>
      <min>0.0</min>
      <unit>Nm</unit>
      <decimal>3</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="SIH_T_MAX" default="5.0" type="FLOAT">
      <short_desc>Max propeller thrust force</short_desc>
      <long_desc>This is the maximum force delivered by one propeller when the motor is running at full speed. This value is usually about 5 times the mass of the quadrotor.</long_desc>
      <min>0.0</min>
      <unit>N</unit>
      <decimal>2</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="SIH_T_TAU" default="0.05" type="FLOAT">
      <short_desc>thruster time constant tau</short_desc>
      <long_desc>the time taken for the thruster to step from 0 to 100% should be about 4 times tau</long_desc>
      <unit>s</unit>
    </parameter>
    <parameter name="SIH_VEHICLE_TYPE" default="0" type="INT32">
      <short_desc>Vehicle type</short_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Multicopter</value>
        <value code="1">Fixed-Wing</value>
        <value code="2">Tailsitter</value>
      </values>
    </parameter>
  </group>
  <group name="Simulator">
    <parameter name="SIM_BARO_OFF_P" default="0.0" type="FLOAT">
      <short_desc>simulated barometer pressure offset</short_desc>
    </parameter>
    <parameter name="SIM_BARO_OFF_T" default="0.0" type="FLOAT">
      <short_desc>simulated barometer temperature offset</short_desc>
      <unit>celcius</unit>
    </parameter>
    <parameter name="SIM_GPS_USED" default="10" type="INT32">
      <short_desc>simulated GPS number of satellites used</short_desc>
      <min>0</min>
      <max>50</max>
    </parameter>
    <parameter name="SIM_GZ_HOME_ALT" default="488.0" type="FLOAT">
      <short_desc>simulator origin altitude</short_desc>
      <unit>m</unit>
    </parameter>
    <parameter name="SIM_GZ_HOME_LAT" default="47.397742" type="FLOAT">
      <short_desc>simulator origin latitude</short_desc>
      <unit>deg</unit>
    </parameter>
    <parameter name="SIM_GZ_HOME_LON" default="8.545594" type="FLOAT">
      <short_desc>simulator origin longitude</short_desc>
      <unit>deg</unit>
    </parameter>
    <parameter name="SIM_MAG_OFFSET_X" default="0.0" type="FLOAT">
      <short_desc>simulated magnetometer X offset</short_desc>
      <unit>gauss</unit>
    </parameter>
    <parameter name="SIM_MAG_OFFSET_Y" default="0.0" type="FLOAT">
      <short_desc>simulated magnetometer Y offset</short_desc>
      <unit>gauss</unit>
    </parameter>
    <parameter name="SIM_MAG_OFFSET_Z" default="0.0" type="FLOAT">
      <short_desc>simulated magnetometer Z offset</short_desc>
      <unit>gauss</unit>
    </parameter>
  </group>
  <group name="System">
    <parameter name="SYS_AUTOCONFIG" default="0" type="INT32">
      <short_desc>Automatically configure default values</short_desc>
      <long_desc>Set to 1 to reset parameters on next system startup (setting defaults). Platform-specific values are used if available. RC* parameters are preserved.</long_desc>
      <values>
        <value code="0">Keep parameters</value>
        <value code="1">Reset parameters to airframe defaults</value>
      </values>
    </parameter>
    <parameter name="SYS_AUTOSTART" default="0" type="INT32">
      <short_desc>Auto-start script index</short_desc>
      <long_desc>CHANGING THIS VALUE REQUIRES A RESTART. Defines the auto-start script used to bootstrap the system.</long_desc>
      <min>0</min>
      <max>9999999</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SYS_BL_UPDATE" default="0" type="INT32" boolean="true">
      <short_desc>Bootloader update</short_desc>
      <long_desc>If enabled, update the bootloader on the next boot. WARNING: do not cut the power during an update process, otherwise you will have to recover using some alternative method (e.g. JTAG). Instructions: - Insert an SD card - Enable this parameter - Reboot the board (plug the power or send a reboot command) - Wait until the board comes back up (or at least 2 minutes) - If it does not come back, check the file bootlog.txt on the SD card</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SYS_CAL_ACCEL" default="0" type="INT32">
      <short_desc>Enable auto start of accelerometer thermal calibration at the next power up</short_desc>
      <long_desc>0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)</long_desc>
      <min>0</min>
      <max>1</max>
    </parameter>
    <parameter name="SYS_CAL_BARO" default="0" type="INT32">
      <short_desc>Enable auto start of barometer thermal calibration at the next power up</short_desc>
      <long_desc>0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)</long_desc>
      <min>0</min>
      <max>1</max>
    </parameter>
    <parameter name="SYS_CAL_GYRO" default="0" type="INT32">
      <short_desc>Enable auto start of rate gyro thermal calibration at the next power up</short_desc>
      <long_desc>0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)</long_desc>
      <min>0</min>
      <max>1</max>
    </parameter>
    <parameter name="SYS_CAL_TDEL" default="24" type="INT32">
      <short_desc>Required temperature rise during thermal calibration</short_desc>
      <long_desc>A temperature increase greater than this value is required during calibration. Calibration will complete for each sensor when the temperature increase above the starting temperature exceeds the value set by SYS_CAL_TDEL. If the temperature rise is insufficient, the calibration will continue indefinitely and the board will need to be repowered to exit.</long_desc>
      <min>10</min>
      <unit>celcius</unit>
    </parameter>
    <parameter name="SYS_CAL_TMAX" default="10" type="INT32">
      <short_desc>Maximum starting temperature for thermal calibration</short_desc>
      <long_desc>Temperature calibration will not start if the temperature of any sensor is higher than the value set by SYS_CAL_TMAX.</long_desc>
      <unit>celcius</unit>
    </parameter>
    <parameter name="SYS_CAL_TMIN" default="5" type="INT32">
      <short_desc>Minimum starting temperature for thermal calibration</short_desc>
      <long_desc>Temperature calibration for each sensor will ignore data if the temperature is lower than the value set by SYS_CAL_TMIN.</long_desc>
      <unit>celcius</unit>
    </parameter>
    <parameter name="SYS_DM_BACKEND" default="0" type="INT32" boolean="true">
      <short_desc>Dataman storage backend</short_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="-1">Disabled</value>
        <value code="0">default (SD card)</value>
        <value code="1">RAM (not persistent)</value>
      </values>
    </parameter>
    <parameter name="SYS_FAC_CAL_MODE" default="0" type="INT32">
      <short_desc>Enable factory calibration mode</short_desc>
      <long_desc>If enabled, future sensor calibrations will be stored to /fs/mtd_caldata. Note: this is only supported on boards with a separate calibration storage /fs/mtd_caldata.</long_desc>
      <values>
        <value code="0">Disabled</value>
        <value code="1">All sensors</value>
        <value code="2">All sensors except mag</value>
      </values>
    </parameter>
    <parameter name="SYS_FAILURE_EN" default="0" type="INT32" boolean="true">
      <short_desc>Enable failure injection</short_desc>
      <long_desc>If enabled allows MAVLink INJECT_FAILURE commands. WARNING: the failures can easily cause crashes and are to be used with caution!</long_desc>
    </parameter>
    <parameter name="SYS_HAS_BARO" default="1" type="INT32" boolean="true">
      <short_desc>Control if the vehicle has a barometer</short_desc>
      <long_desc>Disable this if the board has no barometer, such as some of the Omnibus F4 SD variants. If disabled, the preflight checks will not check for the presence of a barometer.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SYS_HAS_GPS" default="1" type="INT32" boolean="true">
      <short_desc>Control if the vehicle has a GPS</short_desc>
      <long_desc>Disable this if the system has no GPS. If disabled, the sensors hub will not process sensor_gps, and GPS will not be available for the rest of the system.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SYS_HAS_MAG" default="1" type="INT32">
      <short_desc>Control if the vehicle has a magnetometer</short_desc>
      <long_desc>Set this to 0 if the board has no magnetometer. If set to 0, the preflight checks will not check for the presence of a magnetometer, otherwise N sensors are required.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SYS_HAS_NUM_DIST" default="0" type="INT32">
      <short_desc>Control the number of distance sensors on the vehicle</short_desc>
      <long_desc>If set to the number of distance sensors, the preflight check will check for their presence and valid data publication. Disable with 0 if no distance sensor present or to disable the preflight check.</long_desc>
      <min>0</min>
      <max>4</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="SYS_HITL" default="0" type="INT32">
      <short_desc>Enable HITL/SIH mode on next boot</short_desc>
      <long_desc>While enabled the system will boot in Hardware-In-The-Loop (HITL) or Simulation-In-Hardware (SIH) mode and not enable all sensors and checks. When disabled the same vehicle can be flown normally. Set to 'external HITL', if the system should perform as if it were a real vehicle (the only difference to a real system is then only the parameter value, which can be used for log analysis).</long_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="-1">external HITL</value>
        <value code="0">HITL and SIH disabled</value>
        <value code="1">HITL enabled</value>
        <value code="2">SIH enabled</value>
      </values>
    </parameter>
    <parameter name="SYS_MC_EST_GROUP" default="2" type="INT32">
      <short_desc>Set multicopter estimator group</short_desc>
      <long_desc>Set the group of estimators used for multicopters and VTOLs</long_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="1">local_position_estimator, attitude_estimator_q (unsupported)</value>
        <value code="2">ekf2 (recommended)</value>
        <value code="3">Q attitude estimator (no position)</value>
      </values>
    </parameter>
    <parameter name="SYS_RGB_MAXBRT" default="1." type="FLOAT">
      <short_desc>RGB Led brightness limit</short_desc>
      <long_desc>Set to 0 to disable, 1 for maximum brightness</long_desc>
      <unit>%</unit>
    </parameter>
    <parameter name="SYS_STCK_EN" default="1" type="INT32" boolean="true">
      <short_desc>Enable stack checking</short_desc>
    </parameter>
    <parameter name="SYS_USE_IO" default="0" type="INT32">
      <short_desc>Set usage of IO board</short_desc>
      <long_desc>Can be used to use a configure the use of the IO board.</long_desc>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">IO PWM disabled (RC only)</value>
        <value code="1">IO enabled (RC &amp; PWM)</value>
      </values>
    </parameter>
  </group>
  <group name="Telemetry">
    <parameter name="TEL_BST_EN" default="0" type="INT32" boolean="true">
      <short_desc>Blacksheep telemetry Enable</short_desc>
      <long_desc>If true, the FMU will try to connect to Blacksheep telemetry on start up</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
  </group>
  <group name="Testing">
    <parameter name="TEST_1" default="2" type="INT32">
      <short_desc>TEST_1</short_desc>
    </parameter>
    <parameter name="TEST_2" default="4" type="INT32">
      <short_desc>TEST_2</short_desc>
    </parameter>
    <parameter name="TEST_3" default="5.0" type="FLOAT">
      <short_desc>TEST_3</short_desc>
    </parameter>
    <parameter name="TEST_D" default="0.01" type="FLOAT">
      <short_desc>TEST_D</short_desc>
    </parameter>
    <parameter name="TEST_DEV" default="2.0" type="FLOAT">
      <short_desc>TEST_DEV</short_desc>
    </parameter>
    <parameter name="TEST_D_LP" default="10.0" type="FLOAT">
      <short_desc>TEST_D_LP</short_desc>
    </parameter>
    <parameter name="TEST_HP" default="10.0" type="FLOAT">
      <short_desc>TEST_HP</short_desc>
    </parameter>
    <parameter name="TEST_I" default="0.1" type="FLOAT">
      <short_desc>TEST_I</short_desc>
    </parameter>
    <parameter name="TEST_I_MAX" default="1.0" type="FLOAT">
      <short_desc>TEST_I_MAX</short_desc>
    </parameter>
    <parameter name="TEST_LP" default="10.0" type="FLOAT">
      <short_desc>TEST_LP</short_desc>
    </parameter>
    <parameter name="TEST_MAX" default="1.0" type="FLOAT">
      <short_desc>TEST_MAX</short_desc>
    </parameter>
    <parameter name="TEST_MEAN" default="1.0" type="FLOAT">
      <short_desc>TEST_MEAN</short_desc>
    </parameter>
    <parameter name="TEST_MIN" default="-1.0" type="FLOAT">
      <short_desc>TEST_MIN</short_desc>
    </parameter>
    <parameter name="TEST_P" default="0.2" type="FLOAT">
      <short_desc>TEST_P</short_desc>
    </parameter>
    <parameter name="TEST_PARAMS" default="12345678" type="INT32">
      <short_desc>TEST_PARAMS</short_desc>
    </parameter>
    <parameter name="TEST_RC2_X" default="16" type="INT32">
      <short_desc>TEST_RC2_X</short_desc>
    </parameter>
    <parameter name="TEST_RC_X" default="8" type="INT32">
      <short_desc>TEST_RC_X</short_desc>
    </parameter>
    <parameter name="TEST_TRIM" default="0.5" type="FLOAT">
      <short_desc>TEST_TRIM</short_desc>
    </parameter>
  </group>
  <group name="Thermal Compensation">
    <parameter name="TC_A0_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Accelerometer that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_A0_TMAX" default="100.0" type="FLOAT" category="System">
      <short_desc>Accelerometer calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_A0_TMIN" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_A0_TREF" default="25.0" type="FLOAT" category="System">
      <short_desc>Accelerometer calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_A0_X0_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^0 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A0_X0_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^0 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A0_X0_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^0 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A0_X1_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^1 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A0_X1_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^1 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A0_X1_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^1 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A0_X2_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^2 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A0_X2_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^2 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A0_X2_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^2 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A0_X3_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^3 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A0_X3_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^3 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A0_X3_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^3 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A1_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Accelerometer that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_A1_TMAX" default="100.0" type="FLOAT" category="System">
      <short_desc>Accelerometer calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_A1_TMIN" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_A1_TREF" default="25.0" type="FLOAT" category="System">
      <short_desc>Accelerometer calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_A1_X0_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^0 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A1_X0_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^0 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A1_X0_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^0 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A1_X1_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^1 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A1_X1_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^1 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A1_X1_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^1 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A1_X2_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^2 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A1_X2_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^2 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A1_X2_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^2 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A1_X3_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^3 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A1_X3_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^3 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A1_X3_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^3 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A2_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Accelerometer that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_A2_TMAX" default="100.0" type="FLOAT" category="System">
      <short_desc>Accelerometer calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_A2_TMIN" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_A2_TREF" default="25.0" type="FLOAT" category="System">
      <short_desc>Accelerometer calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_A2_X0_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^0 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A2_X0_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^0 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A2_X0_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^0 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A2_X1_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^1 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A2_X1_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^1 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A2_X1_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^1 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A2_X2_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^2 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A2_X2_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^2 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A2_X2_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^2 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A2_X3_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^3 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A2_X3_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^3 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A2_X3_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^3 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A3_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Accelerometer that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_A3_TMAX" default="100.0" type="FLOAT" category="System">
      <short_desc>Accelerometer calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_A3_TMIN" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_A3_TREF" default="25.0" type="FLOAT" category="System">
      <short_desc>Accelerometer calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_A3_X0_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^0 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A3_X0_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^0 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A3_X0_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^0 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A3_X1_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^1 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A3_X1_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^1 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A3_X1_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^1 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A3_X2_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^2 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A3_X2_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^2 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A3_X2_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^2 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A3_X3_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^3 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_A3_X3_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^3 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_A3_X3_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Accelerometer offset temperature ^3 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_A_ENABLE" default="0" type="INT32" boolean="true">
      <short_desc>Thermal compensation for accelerometer sensors</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="TC_B0_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Barometer that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_B0_TMAX" default="75.0" type="FLOAT" category="System">
      <short_desc>Barometer calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_B0_TMIN" default="5.0" type="FLOAT" category="System">
      <short_desc>Barometer calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_B0_TREF" default="40.0" type="FLOAT" category="System">
      <short_desc>Barometer calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_B0_X0" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^0 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B0_X1" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^1 polynomial coefficients</short_desc>
    </parameter>
    <parameter name="TC_B0_X2" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^2 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B0_X3" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^3 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B0_X4" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^4 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B0_X5" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^5 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B1_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Barometer that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_B1_TMAX" default="75.0" type="FLOAT" category="System">
      <short_desc>Barometer calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_B1_TMIN" default="5.0" type="FLOAT" category="System">
      <short_desc>Barometer calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_B1_TREF" default="40.0" type="FLOAT" category="System">
      <short_desc>Barometer calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_B1_X0" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^0 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B1_X1" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^1 polynomial coefficients</short_desc>
    </parameter>
    <parameter name="TC_B1_X2" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^2 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B1_X3" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^3 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B1_X4" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^4 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B1_X5" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^5 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B2_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Barometer that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_B2_TMAX" default="75.0" type="FLOAT" category="System">
      <short_desc>Barometer calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_B2_TMIN" default="5.0" type="FLOAT" category="System">
      <short_desc>Barometer calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_B2_TREF" default="40.0" type="FLOAT" category="System">
      <short_desc>Barometer calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_B2_X0" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^0 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B2_X1" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^1 polynomial coefficients</short_desc>
    </parameter>
    <parameter name="TC_B2_X2" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^2 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B2_X3" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^3 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B2_X4" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^4 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B2_X5" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^5 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B3_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Barometer that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_B3_TMAX" default="75.0" type="FLOAT" category="System">
      <short_desc>Barometer calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_B3_TMIN" default="5.0" type="FLOAT" category="System">
      <short_desc>Barometer calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_B3_TREF" default="40.0" type="FLOAT" category="System">
      <short_desc>Barometer calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_B3_X0" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^0 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B3_X1" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^1 polynomial coefficients</short_desc>
    </parameter>
    <parameter name="TC_B3_X2" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^2 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B3_X3" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^3 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B3_X4" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^4 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B3_X5" default="0.0" type="FLOAT" category="System">
      <short_desc>Barometer offset temperature ^5 polynomial coefficient</short_desc>
    </parameter>
    <parameter name="TC_B_ENABLE" default="0" type="INT32" boolean="true">
      <short_desc>Thermal compensation for barometric pressure sensors</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="TC_G0_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Gyro that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_G0_TMAX" default="100.0" type="FLOAT" category="System">
      <short_desc>Gyro calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_G0_TMIN" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_G0_TREF" default="25.0" type="FLOAT" category="System">
      <short_desc>Gyro calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_G0_X0_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^0 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G0_X0_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^0 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G0_X0_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^0 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G0_X1_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^1 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G0_X1_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^1 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G0_X1_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^1 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G0_X2_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^2 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G0_X2_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^2 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G0_X2_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^2 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G0_X3_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^3 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G0_X3_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^3 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G0_X3_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^3 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G1_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Gyro that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_G1_TMAX" default="100.0" type="FLOAT" category="System">
      <short_desc>Gyro calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_G1_TMIN" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_G1_TREF" default="25.0" type="FLOAT" category="System">
      <short_desc>Gyro calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_G1_X0_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^0 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G1_X0_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^0 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G1_X0_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^0 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G1_X1_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^1 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G1_X1_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^1 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G1_X1_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^1 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G1_X2_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^2 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G1_X2_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^2 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G1_X2_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^2 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G1_X3_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^3 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G1_X3_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^3 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G1_X3_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^3 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G2_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Gyro that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_G2_TMAX" default="100.0" type="FLOAT" category="System">
      <short_desc>Gyro calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_G2_TMIN" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_G2_TREF" default="25.0" type="FLOAT" category="System">
      <short_desc>Gyro calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_G2_X0_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^0 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G2_X0_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^0 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G2_X0_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^0 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G2_X1_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^1 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G2_X1_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^1 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G2_X1_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^1 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G2_X2_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^2 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G2_X2_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^2 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G2_X2_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^2 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G2_X3_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^3 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G2_X3_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^3 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G2_X3_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^3 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G3_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Gyro that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_G3_TMAX" default="100.0" type="FLOAT" category="System">
      <short_desc>Gyro calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_G3_TMIN" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_G3_TREF" default="25.0" type="FLOAT" category="System">
      <short_desc>Gyro calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_G3_X0_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^0 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G3_X0_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^0 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G3_X0_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^0 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G3_X1_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^1 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G3_X1_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^1 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G3_X1_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^1 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G3_X2_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^2 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G3_X2_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^2 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G3_X2_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^2 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G3_X3_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^3 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_G3_X3_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^3 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_G3_X3_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Gyro rate offset temperature ^3 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_G_ENABLE" default="0" type="INT32" boolean="true">
      <short_desc>Thermal compensation for rate gyro sensors</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="TC_M0_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Magnetometer that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_M0_TMAX" default="100.0" type="FLOAT" category="System">
      <short_desc>Magnetometer calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_M0_TMIN" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_M0_TREF" default="25.0" type="FLOAT" category="System">
      <short_desc>Magnetometer calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_M0_X0_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^0 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M0_X0_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^0 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M0_X0_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^0 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M0_X1_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^1 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M0_X1_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^1 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M0_X1_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^1 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M0_X2_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^2 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M0_X2_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^2 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M0_X2_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^2 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M0_X3_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^3 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M0_X3_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^3 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M0_X3_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^3 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M1_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Magnetometer that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_M1_TMAX" default="100.0" type="FLOAT" category="System">
      <short_desc>Magnetometer calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_M1_TMIN" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_M1_TREF" default="25.0" type="FLOAT" category="System">
      <short_desc>Magnetometer calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_M1_X0_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^0 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M1_X0_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^0 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M1_X0_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^0 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M1_X1_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^1 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M1_X1_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^1 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M1_X1_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^1 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M1_X2_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^2 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M1_X2_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^2 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M1_X2_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^2 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M1_X3_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^3 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M1_X3_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^3 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M1_X3_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^3 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M2_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Magnetometer that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_M2_TMAX" default="100.0" type="FLOAT" category="System">
      <short_desc>Magnetometer calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_M2_TMIN" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_M2_TREF" default="25.0" type="FLOAT" category="System">
      <short_desc>Magnetometer calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_M2_X0_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^0 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M2_X0_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^0 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M2_X0_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^0 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M2_X1_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^1 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M2_X1_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^1 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M2_X1_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^1 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M2_X2_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^2 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M2_X2_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^2 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M2_X2_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^2 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M2_X3_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^3 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M2_X3_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^3 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M2_X3_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^3 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M3_ID" default="0" type="INT32" category="System">
      <short_desc>ID of Magnetometer that the calibration is for</short_desc>
    </parameter>
    <parameter name="TC_M3_TMAX" default="100.0" type="FLOAT" category="System">
      <short_desc>Magnetometer calibration maximum temperature</short_desc>
    </parameter>
    <parameter name="TC_M3_TMIN" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer calibration minimum temperature</short_desc>
    </parameter>
    <parameter name="TC_M3_TREF" default="25.0" type="FLOAT" category="System">
      <short_desc>Magnetometer calibration reference temperature</short_desc>
    </parameter>
    <parameter name="TC_M3_X0_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^0 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M3_X0_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^0 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M3_X0_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^0 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M3_X1_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^1 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M3_X1_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^1 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M3_X1_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^1 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M3_X2_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^2 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M3_X2_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^2 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M3_X2_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^2 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M3_X3_0" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^3 polynomial coefficient - X axis</short_desc>
    </parameter>
    <parameter name="TC_M3_X3_1" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^3 polynomial coefficient - Y axis</short_desc>
    </parameter>
    <parameter name="TC_M3_X3_2" default="0.0" type="FLOAT" category="System">
      <short_desc>Magnetometer offset temperature ^3 polynomial coefficient - Z axis</short_desc>
    </parameter>
    <parameter name="TC_M_ENABLE" default="0" type="INT32" boolean="true">
      <short_desc>Thermal compensation for magnetometer sensors</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
  </group>
  <group name="Transponder">
    <parameter name="MXS_EXT_CFG" default="0" type="INT32" boolean="true">
      <short_desc>Sagetech External Configuration Mode</short_desc>
      <long_desc>Disables auto-configuration mode enabling MXS config through external software.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="MXS_OP_MODE" default="0" type="INT32">
      <short_desc>Sagetech MXS mode configuration</short_desc>
      <long_desc>This parameter defines the operating mode of the MXS</long_desc>
      <min>0</min>
      <max>3</max>
      <reboot_required>false</reboot_required>
      <values>
        <value code="0">Off</value>
        <value code="1">On</value>
        <value code="2">Standby</value>
        <value code="3">Alt</value>
      </values>
    </parameter>
    <parameter name="MXS_TARG_PORT" default="1" type="INT32">
      <short_desc>Sagetech MXS Participant Configuration</short_desc>
      <long_desc>The MXS communication port to receive Target data from</long_desc>
      <min>0</min>
      <max>2</max>
      <reboot_required>false</reboot_required>
      <values>
        <value code="0">Auto</value>
        <value code="1">COM0</value>
        <value code="2">COM1</value>
      </values>
    </parameter>
  </group>
  <group name="UAVCAN">
    <parameter name="CANNODE_BITRATE" default="1000000" type="INT32">
      <short_desc>UAVCAN CAN bus bitrate</short_desc>
      <min>20000</min>
      <max>1000000</max>
    </parameter>
    <parameter name="CANNODE_NODE_ID" default="120" type="INT32">
      <short_desc>UAVCAN Node ID</short_desc>
      <long_desc>Read the specs at http://uavcan.org to learn more about Node ID.</long_desc>
      <min>1</min>
      <max>125</max>
    </parameter>
    <parameter name="CANNODE_PUB_MBD" default="0" type="INT32" boolean="true">
      <short_desc>Enable MovingBaselineData publication</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="CANNODE_SUB_MBD" default="0" type="INT32" boolean="true">
      <short_desc>Enable MovingBaselineData subscription</short_desc>
      <max>1</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="CANNODE_SUB_RTCM" default="0" type="INT32" boolean="true">
      <short_desc>Enable RTCM subscription</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="CANNODE_TERM" default="0" type="INT32" boolean="true">
      <short_desc>CAN built-in bus termination</short_desc>
      <max>1</max>
    </parameter>
    <parameter name="SIM_GZ_EN" default="0" type="INT32" boolean="true">
      <short_desc>Simulator Gazebo bridge enable</short_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_BITRATE" default="1000000" type="INT32">
      <short_desc>UAVCAN CAN bus bitrate</short_desc>
      <min>20000</min>
      <max>1000000</max>
      <unit>bit/s</unit>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_ENABLE" default="0" type="INT32">
      <short_desc>UAVCAN mode</short_desc>
      <long_desc>0 - UAVCAN disabled. 1 - Enables support for UAVCAN sensors without dynamic node ID allocation and firmware update. 2 - Enables support for UAVCAN sensors with dynamic node ID allocation and firmware update. 3 - Enables support for UAVCAN sensors and actuators with dynamic node ID allocation and firmware update. Also sets the motor control outputs to UAVCAN.</long_desc>
      <min>0</min>
      <max>3</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Sensors Manual Config</value>
        <value code="2">Sensors Automatic Config</value>
        <value code="3">Sensors and Actuators (ESCs) Automatic Config</value>
      </values>
    </parameter>
    <parameter name="UAVCAN_LGT_ANTCL" default="2" type="INT32">
      <short_desc>UAVCAN ANTI_COLLISION light operating mode</short_desc>
      <long_desc>This parameter defines the minimum condition under which the system will command the ANTI_COLLISION lights on 0 - Always off 1 - When autopilot is armed 2 - When autopilot is prearmed 3 - Always on</long_desc>
      <min>0</min>
      <max>3</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Always off</value>
        <value code="1">When autopilot is armed</value>
        <value code="2">When autopilot is prearmed</value>
        <value code="3">Always on</value>
      </values>
    </parameter>
    <parameter name="UAVCAN_LGT_LAND" default="0" type="INT32">
      <short_desc>UAVCAN LIGHT_ID_LANDING light operating mode</short_desc>
      <long_desc>This parameter defines the minimum condition under which the system will command the LIGHT_ID_LANDING lights on 0 - Always off 1 - When autopilot is armed 2 - When autopilot is prearmed 3 - Always on</long_desc>
      <min>0</min>
      <max>3</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Always off</value>
        <value code="1">When autopilot is armed</value>
        <value code="2">When autopilot is prearmed</value>
        <value code="3">Always on</value>
      </values>
    </parameter>
    <parameter name="UAVCAN_LGT_NAV" default="3" type="INT32">
      <short_desc>UAVCAN RIGHT_OF_WAY light operating mode</short_desc>
      <long_desc>This parameter defines the minimum condition under which the system will command the RIGHT_OF_WAY lights on 0 - Always off 1 - When autopilot is armed 2 - When autopilot is prearmed 3 - Always on</long_desc>
      <min>0</min>
      <max>3</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Always off</value>
        <value code="1">When autopilot is armed</value>
        <value code="2">When autopilot is prearmed</value>
        <value code="3">Always on</value>
      </values>
    </parameter>
    <parameter name="UAVCAN_LGT_STROB" default="1" type="INT32">
      <short_desc>UAVCAN STROBE light operating mode</short_desc>
      <long_desc>This parameter defines the minimum condition under which the system will command the STROBE lights on 0 - Always off 1 - When autopilot is armed 2 - When autopilot is prearmed 3 - Always on</long_desc>
      <min>0</min>
      <max>3</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Always off</value>
        <value code="1">When autopilot is armed</value>
        <value code="2">When autopilot is prearmed</value>
        <value code="3">Always on</value>
      </values>
    </parameter>
    <parameter name="UAVCAN_NODE_ID" default="1" type="INT32">
      <short_desc>UAVCAN Node ID</short_desc>
      <long_desc>Read the specs at http://uavcan.org to learn more about Node ID.</long_desc>
      <min>1</min>
      <max>125</max>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_PUB_ARM" default="0" type="INT32" boolean="true">
      <short_desc>publish Arming Status stream</short_desc>
      <long_desc>Enable UAVCAN Arming Status stream publication uavcan::equipment::safety::ArmingStatus</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_PUB_MBD" default="0" type="INT32" boolean="true">
      <short_desc>publish moving baseline data RTCM stream</short_desc>
      <long_desc>Enable UAVCAN RTCM stream publication ardupilot::gnss::MovingBaselineData</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_PUB_RTCM" default="0" type="INT32" boolean="true">
      <short_desc>publish RTCM stream</short_desc>
      <long_desc>Enable UAVCAN RTCM stream publication uavcan::equipment::gnss::RTCMStream</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_RNG_MAX" default="200.0" type="FLOAT">
      <short_desc>UAVCAN rangefinder maximum range</short_desc>
      <long_desc>This parameter defines the maximum valid range for a rangefinder connected via UAVCAN.</long_desc>
      <unit>m</unit>
    </parameter>
    <parameter name="UAVCAN_RNG_MIN" default="0.3" type="FLOAT">
      <short_desc>UAVCAN rangefinder minimum range</short_desc>
      <long_desc>This parameter defines the minimum valid range for a rangefinder connected via UAVCAN.</long_desc>
      <unit>m</unit>
    </parameter>
    <parameter name="UAVCAN_SUB_ASPD" default="0" type="INT32" boolean="true">
      <short_desc>subscription airspeed</short_desc>
      <long_desc>Enable UAVCAN airspeed subscriptions. uavcan::equipment::air_data::IndicatedAirspeed uavcan::equipment::air_data::TrueAirspeed uavcan::equipment::air_data::StaticTemperature</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_SUB_BARO" default="0" type="INT32" boolean="true">
      <short_desc>subscription barometer</short_desc>
      <long_desc>Enable UAVCAN barometer subscription. uavcan::equipment::air_data::StaticPressure uavcan::equipment::air_data::StaticTemperature</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_SUB_BAT" default="0" type="INT32">
      <short_desc>subscription battery</short_desc>
      <long_desc>Enable UAVCAN battery subscription. uavcan::equipment::power::BatteryInfo ardupilot::equipment::power::BatteryInfoAux 0 - Disable 1 - Use raw data. Recommended for Smart battery 2 - Filter the data with internal battery library</long_desc>
      <min>0</min>
      <max>2</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Disable</value>
        <value code="1">Raw data</value>
        <value code="2">Filter data</value>
      </values>
    </parameter>
    <parameter name="UAVCAN_SUB_BTN" default="0" type="INT32" boolean="true">
      <short_desc>subscription button</short_desc>
      <long_desc>Enable UAVCAN button subscription. ardupilot::indication::Button</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_SUB_DPRES" default="0" type="INT32" boolean="true">
      <short_desc>subscription differential pressure</short_desc>
      <long_desc>Enable UAVCAN differential pressure subscription. uavcan::equipment::air_data::RawAirData</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_SUB_FLOW" default="0" type="INT32" boolean="true">
      <short_desc>subscription flow</short_desc>
      <long_desc>Enable UAVCAN optical flow subscription.</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_SUB_GPS" default="1" type="INT32" boolean="true">
      <short_desc>subscription GPS</short_desc>
      <long_desc>Enable UAVCAN GPS subscriptions. uavcan::equipment::gnss::Fix uavcan::equipment::gnss::Fix2 uavcan::equipment::gnss::Auxiliary</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_SUB_HYGRO" default="0" type="INT32" boolean="true">
      <short_desc>subscription hygrometer</short_desc>
      <long_desc>Enable UAVCAN hygrometer subscriptions. dronecan::sensors::hygrometer::Hygrometer</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_SUB_ICE" default="0" type="INT32" boolean="true">
      <short_desc>subscription ICE</short_desc>
      <long_desc>Enable UAVCAN internal combustion engine (ICE) subscription. uavcan::equipment::ice::reciprocating::Status</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_SUB_IMU" default="0" type="INT32" boolean="true">
      <short_desc>subscription IMU</short_desc>
      <long_desc>Enable UAVCAN IMU subscription. uavcan::equipment::ahrs::RawIMU</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_SUB_MAG" default="1" type="INT32" boolean="true">
      <short_desc>subscription magnetometer</short_desc>
      <long_desc>Enable UAVCAN mag subscription. uavcan::equipment::ahrs::MagneticFieldStrength uavcan::equipment::ahrs::MagneticFieldStrength2</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
    <parameter name="UAVCAN_SUB_RNG" default="0" type="INT32" boolean="true">
      <short_desc>subscription range finder</short_desc>
      <long_desc>Enable UAVCAN range finder subscription. uavcan::equipment::range_sensor::Measurement</long_desc>
      <reboot_required>true</reboot_required>
    </parameter>
  </group>
  <group name="UUV Attitude Control">
    <parameter name="UUV_DIRCT_PITCH" default="0.0" type="FLOAT">
      <short_desc>Direct pitch input</short_desc>
    </parameter>
    <parameter name="UUV_DIRCT_ROLL" default="0.0" type="FLOAT">
      <short_desc>Direct roll input</short_desc>
    </parameter>
    <parameter name="UUV_DIRCT_THRUST" default="0.0" type="FLOAT">
      <short_desc>Direct thrust input</short_desc>
    </parameter>
    <parameter name="UUV_DIRCT_YAW" default="0.0" type="FLOAT">
      <short_desc>Direct yaw input</short_desc>
    </parameter>
    <parameter name="UUV_INPUT_MODE" default="0" type="INT32">
      <short_desc>Select Input Mode</short_desc>
      <values>
        <value code="0">use Attitude Setpoints</value>
        <value code="1">Direct Feedthrough</value>
      </values>
    </parameter>
    <parameter name="UUV_PITCH_D" default="2.0" type="FLOAT">
      <short_desc>Pitch differential gain</short_desc>
      <decimal>2</decimal>
    </parameter>
    <parameter name="UUV_PITCH_P" default="4.0" type="FLOAT">
      <short_desc>Pitch proportional gain</short_desc>
      <decimal>2</decimal>
    </parameter>
    <parameter name="UUV_ROLL_D" default="1.5" type="FLOAT">
      <short_desc>Roll differential gain</short_desc>
      <decimal>2</decimal>
    </parameter>
    <parameter name="UUV_ROLL_P" default="4.0" type="FLOAT">
      <short_desc>Roll proportional gain</short_desc>
      <decimal>2</decimal>
    </parameter>
    <parameter name="UUV_YAW_D" default="2.0" type="FLOAT">
      <short_desc>Yaw differential gain</short_desc>
      <decimal>2</decimal>
    </parameter>
    <parameter name="UUV_YAW_P" default="4.0" type="FLOAT">
      <short_desc>Yawh proportional gain</short_desc>
      <decimal>2</decimal>
    </parameter>
  </group>
  <group name="UUV Position Control">
    <parameter name="UUV_GAIN_X_D" default="0.2" type="FLOAT">
      <short_desc>Gain of D controller X</short_desc>
    </parameter>
    <parameter name="UUV_GAIN_X_P" default="1.0" type="FLOAT">
      <short_desc>Gain of P controller X</short_desc>
    </parameter>
    <parameter name="UUV_GAIN_Y_D" default="0.2" type="FLOAT">
      <short_desc>Gain of D controller Y</short_desc>
    </parameter>
    <parameter name="UUV_GAIN_Y_P" default="1.0" type="FLOAT">
      <short_desc>Gain of P controller Y</short_desc>
    </parameter>
    <parameter name="UUV_GAIN_Z_D" default="0.2" type="FLOAT">
      <short_desc>Gain of D controller Z</short_desc>
    </parameter>
    <parameter name="UUV_GAIN_Z_P" default="1.0" type="FLOAT">
      <short_desc>Gain of P controller Z</short_desc>
    </parameter>
    <parameter name="UUV_STAB_MODE" default="1" type="INT32">
      <short_desc>Stabilization mode(1) or Position Control(0)</short_desc>
      <values>
        <value code="0">Position Control</value>
        <value code="1">Stabilization Mode</value>
      </values>
    </parameter>
  </group>
  <group name="VTOL Attitude Control">
    <parameter name="VT_ARSP_BLEND" default="8.0" type="FLOAT">
      <short_desc>Transition blending airspeed</short_desc>
      <long_desc>Airspeed at which we can start blending both fw and mc controls. Set to 0 to disable.</long_desc>
      <min>0.00</min>
      <max>30.00</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="VT_ARSP_TRANS" default="10.0" type="FLOAT">
      <short_desc>Transition airspeed</short_desc>
      <long_desc>Airspeed at which we can switch to fw mode</long_desc>
      <min>0.00</min>
      <max>30.00</max>
      <unit>m/s</unit>
      <decimal>2</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="VT_B_DEC_FF" default="0." type="FLOAT">
      <short_desc>Backtransition deceleration setpoint to pitch feedforward gain</short_desc>
      <min>0</min>
      <max>0.2</max>
      <unit>rad s^2/m</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="VT_B_DEC_I" default="0.1" type="FLOAT">
      <short_desc>Backtransition deceleration setpoint to pitch I gain</short_desc>
      <min>0</min>
      <max>0.3</max>
      <unit>rad s/m</unit>
      <decimal>2</decimal>
      <increment>0.05</increment>
    </parameter>
    <parameter name="VT_B_DEC_MSS" default="2.0" type="FLOAT">
      <short_desc>Approximate deceleration during back transition</short_desc>
      <long_desc>The approximate deceleration during a back transition in m/s/s Used to calculate back transition distance in an auto mode. For standard vtol and tiltrotors a controller is used to track this value during the transition.</long_desc>
      <min>0.5</min>
      <max>10</max>
      <unit>m/s^2</unit>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="VT_B_TRANS_DUR" default="10.0" type="FLOAT">
      <short_desc>Maximum duration of a back transition</short_desc>
      <long_desc>Time in seconds used for a back transition maximally. Transition is also declared over if the groundspeed drops below MPC_XY_CRUISE.</long_desc>
      <min>0.1</min>
      <max>20.00</max>
      <unit>s</unit>
      <decimal>2</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="VT_B_TRANS_RAMP" default="3.0" type="FLOAT">
      <short_desc>Back transition MC motor ramp up time</short_desc>
      <long_desc>This sets the duration during which the MC motors ramp up to the commanded thrust during the back transition stage.</long_desc>
      <min>0.0</min>
      <max>20.0</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="VT_ELEV_MC_LOCK" default="1" type="INT32" boolean="true">
      <short_desc>Lock control surfaces in hover</short_desc>
      <long_desc>If set to 1 the control surfaces are locked at the disarmed value in multicopter mode.</long_desc>
    </parameter>
    <parameter name="VT_FWD_THRUST_EN" default="0" type="INT32">
      <short_desc>Use fixed-wing actuation in hover to accelerate forward</short_desc>
      <long_desc>This feature can be used to avoid the plane having to pitch nose down in order to move forward. Prevents large, negative lift from pitching nose down into wind. Fixed-wing forward actuators refers to puller/pusher (standard VTOL), or forward-tilt (tiltrotor VTOL). Only active if demanded down pitch is below VT_PITCH_MIN. Use VT_FWD_THRUST_SC to tune it. Only active (if enabled) in Altitude, Position and Auto modes, not in Stabilized.</long_desc>
      <values>
        <value code="0">Disabled</value>
        <value code="1">Enabled (except LANDING)</value>
        <value code="2">Enabled if distance to ground above MPC_LAND_ALT1</value>
        <value code="3">Enabled if distance to ground above MPC_LAND_ALT2</value>
        <value code="4">Enabled constantly</value>
        <value code="5">Enabled if distance to ground above MPC_LAND_ALT1 (except LANDING)</value>
        <value code="6">Enabled if distance to ground above MPC_LAND_ALT2 (except LANDING)</value>
      </values>
    </parameter>
    <parameter name="VT_FWD_THRUST_SC" default="0.7" type="FLOAT">
      <short_desc>Fixed-wing actuation thrust scale for hover forward flight</short_desc>
      <long_desc>Scale applied to the demanded down-pitch to get the fixed-wing forward actuation in hover mode. Enabled via VT_FWD_THRUST_EN.</long_desc>
      <min>0.0</min>
      <max>2.0</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="VT_FW_DIFTHR_EN" default="0" type="INT32">
      <short_desc>Differential thrust in forwards flight</short_desc>
      <long_desc>Enable differential thrust seperately for roll, pitch, yaw in forward (fixed-wing) mode. The effectiveness of differential thrust around the corresponding axis can be tuned by setting VT_FW_DIFTHR_S_R / VT_FW_DIFTHR_S_P / VT_FW_DIFTHR_S_Y.</long_desc>
      <min>0</min>
      <max>7</max>
      <bitmask>
        <bit index="0">Yaw</bit>
        <bit index="1">Roll</bit>
        <bit index="2">Pitch</bit>
      </bitmask>
    </parameter>
    <parameter name="VT_FW_DIFTHR_S_P" default="1." type="FLOAT">
      <short_desc>Pitch differential thrust factor in forward flight</short_desc>
      <long_desc>Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.</long_desc>
      <min>0.0</min>
      <max>2.0</max>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="VT_FW_DIFTHR_S_R" default="1." type="FLOAT">
      <short_desc>Roll differential thrust factor in forward flight</short_desc>
      <long_desc>Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.</long_desc>
      <min>0.0</min>
      <max>2.0</max>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="VT_FW_DIFTHR_S_Y" default="0.1" type="FLOAT">
      <short_desc>Yaw differential thrust factor in forward flight</short_desc>
      <long_desc>Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.</long_desc>
      <min>0.0</min>
      <max>2.0</max>
      <decimal>2</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="VT_FW_MIN_ALT" default="0.0" type="FLOAT">
      <short_desc>Quad-chute altitude</short_desc>
      <long_desc>Minimum altitude for fixed-wing flight. When the vehicle is in fixed-wing mode and the altitude drops below this altitude (relative altitude above local origin), it will instantly switch back to MC mode and execute behavior defined in COM_QC_ACT.</long_desc>
      <min>0.0</min>
      <max>200.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="VT_FW_QC_HMAX" default="0" type="INT32">
      <short_desc>Quad-chute maximum height</short_desc>
      <long_desc>Maximum height above the ground (if available, otherwise above Home if available, otherwise above the local origin) where triggering a quad-chute is possible. At high altitudes there is a big risk to deplete the battery and therefore crash if quad-chuting there.</long_desc>
      <min>0</min>
      <unit>m</unit>
      <increment>1</increment>
    </parameter>
    <parameter name="VT_FW_QC_P" default="0" type="INT32">
      <short_desc>Quad-chute max pitch threshold</short_desc>
      <long_desc>Absolute pitch threshold for quad-chute triggering in FW mode. Above this the vehicle will transition back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.</long_desc>
      <min>0</min>
      <max>180</max>
      <unit>deg</unit>
    </parameter>
    <parameter name="VT_FW_QC_R" default="0" type="INT32">
      <short_desc>Quad-chute max roll threshold</short_desc>
      <long_desc>Absolute roll threshold for quad-chute triggering in FW mode. Above this the vehicle will transition back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.</long_desc>
      <min>0</min>
      <max>180</max>
      <unit>deg</unit>
    </parameter>
    <parameter name="VT_F_TRANS_DUR" default="5.0" type="FLOAT">
      <short_desc>Duration of a front transition</short_desc>
      <long_desc>Time in seconds used for a transition</long_desc>
      <min>0.1</min>
      <max>20.00</max>
      <unit>s</unit>
      <decimal>2</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="VT_F_TRANS_THR" default="1.0" type="FLOAT">
      <short_desc>Target throttle value for the transition to fixed-wing flight</short_desc>
      <long_desc>standard vtol: pusher tailsitter, tiltrotor: main throttle</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>3</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="VT_F_TR_OL_TM" default="6.0" type="FLOAT">
      <short_desc>Airspeed-less front transition time (open loop)</short_desc>
      <long_desc>The duration of the front transition when there is no airspeed feedback available.</long_desc>
      <min>1.0</min>
      <max>30.0</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.5</increment>
    </parameter>
    <parameter name="VT_LND_PITCH_MIN" default="-5.0" type="FLOAT">
      <short_desc>Minimum pitch angle during hover landing</short_desc>
      <long_desc>Overrides VT_PITCH_MIN when the vehicle is in LAND mode (hovering). During landing it can be beneficial to allow lower minimum pitch angles as it can avoid the wings generating too much lift and preventing the vehicle from sinking at the desired rate.</long_desc>
      <min>-10.0</min>
      <max>45.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="VT_PITCH_MIN" default="-5.0" type="FLOAT">
      <short_desc>Minimum pitch angle during hover</short_desc>
      <long_desc>Minimum pitch angle during hover flight. If the desired pitch angle is is lower than this value then the fixed-wing forward actuation can be used to compensate for the missing thrust in forward direction (see VT_FW_TRHUST_EN)</long_desc>
      <min>-10.0</min>
      <max>45.0</max>
      <unit>deg</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="VT_PSHER_SLEW" default="0.33" type="FLOAT">
      <short_desc>Pusher throttle ramp up slew rate</short_desc>
      <long_desc>Defines the slew rate of the puller/pusher throttle during transitions. Zero will deactivate the slew rate limiting and thus produce an instant throttle rise to the transition throttle VT_F_TRANS_THR.</long_desc>
      <min>0</min>
      <unit>1/s</unit>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="VT_QC_ALT_LOSS" default="0.0" type="FLOAT">
      <short_desc>Quad-chute uncommanded descent threshold</short_desc>
      <long_desc>Altitude error threshold for quad-chute triggering during fixed-wing flight. The check is only active if altitude is controlled and the vehicle is below the current altitude reference. The altitude error is relative to the highest altitude the vehicle has achieved since it has flown below the current altitude reference. Set to 0 do disable.</long_desc>
      <min>0.0</min>
      <max>200.0</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="VT_QC_T_ALT_LOSS" default="20.0" type="FLOAT">
      <short_desc>Quad-chute transition altitude loss threshold</short_desc>
      <long_desc>Altitude loss threshold for quad-chute triggering during VTOL transition to fixed-wing flight. Active until 5s after completing transition to fixed-wing. Only active if altitude estimate is valid and in altitude-controlled mode. If the current altitude is more than this value below the altitude at the beginning of the transition, it will instantly switch back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.</long_desc>
      <min>0</min>
      <max>50</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="VT_SPOILER_MC_LD" default="0." type="FLOAT">
      <short_desc>Spoiler setting while landing (hover)</short_desc>
      <min>-1</min>
      <max>1</max>
      <unit>norm</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="VT_TILT_FW" default="1.0" type="FLOAT">
      <short_desc>Normalized tilt in FW</short_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>3</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="VT_TILT_MC" default="0.0" type="FLOAT">
      <short_desc>Normalized tilt in Hover</short_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>3</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="VT_TILT_SPINUP" default="0.0" type="FLOAT">
      <short_desc>Tilt when disarmed and in the first second after arming</short_desc>
      <long_desc>This specific tilt during spin-up is necessary for some systems whose motors otherwise don't spin-up freely.</long_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>2</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="VT_TILT_TRANS" default="0.4" type="FLOAT">
      <short_desc>Normalized tilt in transition to FW</short_desc>
      <min>0.0</min>
      <max>1.0</max>
      <decimal>3</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="VT_TRANS_MIN_TM" default="2.0" type="FLOAT">
      <short_desc>Front transition minimum time</short_desc>
      <long_desc>Minimum time in seconds for front transition.</long_desc>
      <min>0.0</min>
      <max>20.0</max>
      <unit>s</unit>
      <decimal>1</decimal>
      <increment>0.1</increment>
    </parameter>
    <parameter name="VT_TRANS_P2_DUR" default="0.5" type="FLOAT">
      <short_desc>Duration of front transition phase 2</short_desc>
      <long_desc>Time in seconds it takes to tilt form VT_TILT_TRANS to VT_TILT_FW.</long_desc>
      <min>0.1</min>
      <max>5.0</max>
      <unit>s</unit>
      <decimal>3</decimal>
      <increment>0.01</increment>
    </parameter>
    <parameter name="VT_TRANS_TIMEOUT" default="15.0" type="FLOAT">
      <short_desc>Front transition timeout</short_desc>
      <long_desc>Time in seconds after which transition will be cancelled. Disabled if set to 0.</long_desc>
      <min>0.1</min>
      <max>30.00</max>
      <unit>s</unit>
      <decimal>2</decimal>
      <increment>1</increment>
    </parameter>
    <parameter name="VT_TYPE" default="0" type="INT32">
      <short_desc>VTOL Type (Tailsitter=0, Tiltrotor=1, Standard=2)</short_desc>
      <min>0</min>
      <max>2</max>
      <reboot_required>true</reboot_required>
      <values>
        <value code="0">Tailsitter</value>
        <value code="1">Tiltrotor</value>
        <value code="2">Standard</value>
      </values>
    </parameter>
    <parameter name="WV_GAIN" default="1.0" type="FLOAT">
      <short_desc>Weather-vane roll angle to yawrate</short_desc>
      <long_desc>The desired gain to convert roll sp into yaw rate sp.</long_desc>
      <min>0.0</min>
      <max>3.0</max>
      <unit>Hz</unit>
      <decimal>3</decimal>
      <increment>0.01</increment>
    </parameter>
  </group>
  <group name="VTOL Takeoff">
    <parameter name="VTO_LOITER_ALT" default="80" type="FLOAT">
      <short_desc>VTOL Takeoff relative loiter altitude</short_desc>
      <long_desc>Altitude relative to home at which vehicle will loiter after front transition.</long_desc>
      <min>20</min>
      <max>300</max>
      <unit>m</unit>
      <decimal>1</decimal>
      <increment>1</increment>
    </parameter>
  </group>
  <group name="Miscellaneous">
    <parameter name="UUV_SKIP_CTRL" default="0" type="INT32">
      <short_desc>Skip the controller</short_desc>
      <values>
        <value code="0">use the module's controller</value>
        <value code="1">skip the controller and feedthrough the setpoints</value>
      </values>
    </parameter>
  </group>
</parameters>
